1、环境准备

1.1 本期引言

前三期分别介绍了NutchSolrLinux上面的安装,并做了简单的应用,这一期从开发的角度进行,因为我们日常最熟悉的开发环境是Windows,所以本期详细介绍Windows平台的Nutch二次开发所需要进行的配置安装。当我们开发好之后,最后在部署到Linux环境中。

为了方便以后Nutch开发以及软件安装的管理,我们对开发环境配置进行如下安排:

E:/(盘符)

|----cygwin

|----NutchWorkPlat

|----ant

|----solr

|----nutch

|----eclipse

|----tomcat

|----workspace

1.2 环境介绍

本次Nutch二次开发的环境介绍:

  • 操作系统:Windows 7 旗舰版
  • ANT版本:apache-ant-1.8.3-bin.tar.gz
  • JDK版本:jdk-6u31-windows-i586.exe
  • Solr版本:apache-solr-3.5.0.zip
  • Nutch版本:apache-nutch-1.4-bin.tar.gz
  • Tomcat版本:apache-tomcat-7.0.27.tar.gz
  • Eclipse版本:eclipse-jee-indigo-SR1-win32.zip

下面是安装的Eclipse插件:

  • IvyDE插件:
    • Ivy:
      • plugins:
  1. org.apache.ivy_2.2.0.final_20100923230623.jar
  2. org.apache.ivy.eclipse.ant_2.2.0.final_20100923230623.jar
  • features:org.apache.ivy.feature_2.2.0.final_20100923230623.jar
  • IvyDE:
    • plugins:org.apache.ivyde.eclipse_2.2.0.beta1-201203282058-RELEASE.jar
    • features:org.apache.ivyde.feature_2.2.0.beta1-201203282058-RELEASE.jar
  • Tomcat插件:tomcatPluginV33.zip

1.3 JDK安装配置

双击"jdk-6u31-windows-i586.exe"即可进行安装,我们一路点击Next,默认安装在C盘,下面是我们安装完JDK的目录。

下面配置JAVA环境变量:右击à我的电脑à属性à高级系统设置à高级à环境变量。

【新建】

JAVA_HOME=C:\Program Files\Java\jdk1.6.0_31

CLASSPATH=.;% JAVA_HOME %\lib;% JAVA_HOME%\jre\lib

NUTCH_JAVA_HOME=% JAVA_HOME %

【增加】

PATH=……;% JAVA_HOME%\bin; % JAVA_HOME%\jre\bin

第一步:点击"新建",然后变量名写上"JAVA_HOME",填上上面内容。

备注:JAVA_HOME的变量值后千万不能加分号。

第二步:点击"新建",然后变量名写上"JAVA_HOME",填上上面内容。

备注:要加圆点.表示当前路径。

第三步:点击"新建",然后变量名写上"NUTCH_JAVA_HOME",填上上面内容。

第四步:在系统变量里找到Path,点击编辑。在后面追加上面内容。

备注:追加时,用";"与前面的值进行分割。

1.4 ANT安装配置

把"apache-ant-1.8.3-bin.tar.gz"解压到"E:\NutchWorkPlat"中,并重新命名为"ant"。

下面配置ANT环境变量:右击à我的电脑à属性à高级系统设置à高级à环境变量。

【新建】

ANT_HOME= E:\NutchWorkPlat\ant

【增加】

PATH=……;%ANT_HOME%\bin; %ANT_HOME%\lib

第一步:点击"新建",然后变量名写上"ANT_HOME",填上上面内容。

备注:ANT_HOME的变量值后千万不能加分号。

第二步:在系统变量里找到Path,点击编辑。在后面追加上面内容。

备注:追加时,用";"与前面的值进行分割。

1.5 IvyDE安装配置

官网上把上面所写的IvyDE的Eclipse插件下载下来。

备注:其他网友和官网都只说安装"ivyde-2.2.0.beta1"即可,但是发现安装没有起作用,按照"Eclipse安装ivyDe插件"这篇文章成功了。

ivyde-eclipse

  • ivyde- plugins

把"org.apache.ivyde.eclipse_2.2.0.beta1-201203282058-RELEASE.jar"复制到Eclipse安装目录的"plugins"中。

  • ivyde-features

把"org.apache.ivyde.feature_2.2.0.beta1-201203282058-RELEASE.jar"解压到Eclipse安装目录的"features"中。

备注:是解压之后放到目录"features"中,而不是直接把jar包放到里面,不然启动Eclipse后,打开WindowàShow ViewàError log后,提示"Unable to find feature.xml in directory"。

ivy-eclipse

  • ivy- plugins

把"org.apache.ivy.eclipse.ant_2.2.0.final_20100923230623.jar"和"org.apache.ivy_2.2.0.

final_20100923230623.jar"复制到Eclipse安装目录的"plugins"中。

  • ivy-features

把"org.apache.ivy.feature_2.2.0.final_20100923230623.jar"解压到Eclipse安装目录的"features"中。

完成以上步骤之后,重启Eclipse,打开Windowàpreference对话框里看到ivy一栏;打开HelpàAbout EclipseàInstallationàPlug-ins列表里也可以看到两个ivy,一个ivyDe。

1.5 Tomcat安装配置

首先安装Tomcat,把"apache-tomcat-7.0.27.tar.gz"解压到"E:\NutchWorkPlat"目录下,并重新命名为"tomcat"。

进入"E:\NutchWorkPlat\tomcat\bin"点击"startup.bat",然后出现如下界面。

然后在浏览器输入"http://localhost:8080/",出现如下界面,表示安装成功。

接着安装Tomcat的Eclipse插件,并让Eclipse与Tomcat结合,把"tomcatPluginV33.zip"后的"com.sysdeo.eclipse.tomcat_3.3.0"复制到"E:\NutchWorkPlat\eclipse\plugins"中,然后重启Eclipse。

打开Windowàpreference对话框里看到tomcat一览,点击tomcat,把刚才解压的tomcat进行关联,操作如下。

点击工具栏的"Start Tomcat"即可启动Tomcat。

然后在Eclipse控制台会输出启动Tomcat的相关信息。

此时可以再次在浏览器输入"http://localhost:8080/"进行验证是否启动成功。

1.6 Cygwin安装配置

nutch是在hadoop基础上做的,由于hadoop只在linux上运行,里面涉及到大量的操作linux程序,所以我们在Windows部署的时候必须先安装cygwin环境,模拟linux操作。

我们这次安装cygwin是用安装包进行安装,并没有采用Internet在线安装。

在上图所示的对话框中,直接点击"下一步",进入如下图所示的对话框:

界面出现三种安装模式:

  • Install from Internet,这种模式直接从Internet安装,适合网速较快的情况;
  • Download Without Installing,这种模式只从网上下载Cygwin的组件包,但不安装;
  • Install from Local Directory,这种模式与上面第二种模式对应,当你的Cygwin组件包已经下载到本地,则可以使用此模式从本地安装Cygwin。

我们这里选择第三种"Install from Local Directory"方式进行安装,然后点击"下一步",进入如下图所示对话框:

在上图所示的对话框中,设置Cygwin 的安装目录,Install For 选择"All Users",然后点击"下一步",进入如下图所示对话框:

选择本地安装包的路径,然后点击"下一步",进入如下图所示对话框:

点击"确定",进入如下图所示对话框:

进入"Select Packages"对话框后,其实直接点击"下一步",进行默认安装即可,为了以后再cygwin下面搭建hadoop环境,所以安装了一些软件。

  • OpenSSL
  • sed
  • vim

必须保证"Net Category"下的"OpenSSL"被安装,如下图所示:

如果还打算在eclipse 上编译Hadoop,则还必须安装"Base Category"下的"sed",如

下图所示:

另外,还建议将"Editors Category"下的vim 安装,以方便在Cygwin 上直接修改配置文件,如下图所示:

建议安装在"Devel Category"下的subversion,如下图所示:

当完成上述操作后,点击"Select Packages"对话框中"下一步",进入Cygwin 安装包

下载过程,如下图所示:

当安装完后,会自动进入到如下图所示的对话框:

在上图所示的对话框中,选中"Create icon on Desktop",以方便直接从桌面上启动

Cygwin,然后点击"完成"按钮。至此,Cgywin 已经安装完,安装目录下的内容如下图所示:

当安装完Cygwin软件之后,我们还需要对其设置它的环境变量。

【新建】

CYGWIN_HOME= E:\cygwin

【增加】

PATH=……;% CYGWIN_HOME %\bin

第一步:点击"新建",然后变量名写上"CYGWIN_HOME",填上上面内容。

第二步:在系统变量里找到Path,点击编辑。在后面追加上面内容。

2、Eclipse开发

2.1 Solr部署

第一步:把"apache-solr-3.5.0.zip"解压到"E:\NutchWorkPlat"目录下,并命名为"solr"。

第二步:把"E:\NutchWorkPlat\solr\dist"目录下的"apache-solr-3.5.0.war"重命名为"solr.war",并把它放到"E:\NutchWorkPlat\tomcat\webapps"目录下面。

第三步:修改Tomcat配置文件"E:\NutchWorkPlat\tomcat\conf\server.xml",添加中文编码支持。

第四步:把"E:\NutchWorkPlat\solr\example"目录下的"solr"文件夹连同里面的内容一起复制到"E:\NutchWorkPlat\tomcat"目录中。

第五步:在"E:\NutchWorkPlat\tomcat\conf\Catalina\localhost"下创建一个"solr.xml"文件,内容如下所示:

<?xml version="1.0" encoding="UTF-8"?>

<Context docBase="E:\NutchWorkPlat\tomcat\webapps\solr.war" debug="0"

crossContext="true" >

<Environment name="solr/home" type="java.lang.String"

value="E:\NutchWorkPlat\tomcat\solr" override="true" />

</Context>

第六步:修改"E:\NutchWorkPlat\tomcat\solr\conf\ solrconfig.xml"找到下面这句话。

<queryResponseWriter

name="velocity"

class="solr.VelocityResponseWriter" enable="${solr.velocity.enabled:true}"/>

把 enable="${solr.velocity.enabled:true}中的true修改为false

第七步:重新启动Tomcat,输入"http://localhost:8080/solr/",出现下面界面。

2.2 Nutch导入

第一步:把"apache-nutch-1.4-bin.tar.gz"解压到"E:\NutchWorkPlat"目录下,并重命名为"nutch"。

第二步:在eclipse中新建立一个Java Project,名字自己定义为Nutch1.4_V0.1,去掉默认路径(Use default location)前面的对勾,选择"E:\NutchWorkPlat\nutch"。其他保持默认,点击"next"。

第三步:选择"Librariesà Add Class Folder...",从列表中选择"conf",将conf加入到classpath中。

第四步着急点"next",选择"Order and Export",选中"conf",点击"Top",使其置顶,此步骤非常关键,置顶之后,点击"Finish"。

第五步:在"Nutch1.4_V0.1"工程根目录下面创建"urls"文件夹(与src、conf同级),在里面在创建一个名为"urls.txt"的文件,在该文件里添加如下内容:

http://www.hebut.edu.cn

http://www.qq.com/

第六步:在"Nutch1.4_V0.1"工程根目录下的conf文件夹中,编辑"nutch-site.xml",使其内容如下:

<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>

<property>

<name>http.agent.name</name>

<value>My Nutch Spider</value>

</property>

<property>

<name>plugin.folders</name>

<value>./src/plugin</value>

</property>

</configuration>

备注:其中"http.agent.name"和"plugin.folders"必须设置,不然会出现"Job Failure"。

第七步:在"Nutch1.4_V0.1"工程根目录下的conf文件夹中,编辑"regex-urlfilter.txt",在"# accept anything else"下面输入:"+^http://(\.*)*",然后保存。

第八步:经过上面的配置之后,就可以爬去网页了,选中"Nutch1.4_V0.1"工程右击选择"Run AsàRun Configurations",从中找到"Java Application",然后右击选择"New",在Main Class选择"org.apache.nutch.crawl.Crawl",将名字命名为"Crawl"。

第八步:接着上面在"Arguments"选项卡中按下面进行填写,然后点击"Apply与Run"。

  • Program Arguments:urls -dir crawl -depth 5 -threads 5 -topN 100
  • VM arguments:-Dhadoop.log.dir=logs -Dhadoop.log.file=hadoop.log

2.3 Solr与Nutch结合

通过上面的步骤之后,指定的网页已经抓取到本地了,现在我们就为我们下载的网页建立索引。

第一步:把"E:\NutchWorkPlat\nutch\conf"下面的"schema.xml"复制到Tomcat的安装目录"E:\NutchWorkPlat\tomcat\solr\conf"下,覆盖掉原文件。schema.xml设置了索引的字段,把content项后面的stored="false" 改为 stored="true" 后在搜索返回值中就会包含含有关键字的具体内容。

第二步:点击Eclipse工具栏的"Start Tomcat"即可启动Tomcat。

备注:如果Tomcat已经起来了,在第一步完成之后,也应该重启使其有效,如果不起动Tomcat,在建立索引时会失败。

第三步:经过上面的配置之后,就可以建立索引了,选中"Nutch1.4_V0.1"工程右击选择"Run AsàRun Configurations",从中找到"Java Application",然后右击选择"New",在Main Class选择"org.apache.nutch.indexer.solr.SolrIndexer",将其命名为"SolrIndexer"。

第四步:接着上面在"Arguments"选项卡中按下面进行填写,然后点击"Apply与Run"。

  • Program Arguments:

http://localhost:8080/solr/ crawl/crawldb -linkdb crawl/linkdb crawl/segments/*

  • VM arguments:-Dhadoop.log.dir=logs -Dhadoop.log.file=hadoop.log

下面是Eclipse控制台输出信息:

SolrIndexer: starting at 2012-04-18 14:45:41

Adding 352 documents

SolrIndexer: finished at 2012-04-18 14:45:56, elapsed: 00:00:14

第五步:在浏览器输入"http://localhost:8080/solr/admin/",并在查询条件输入关键字,点击"Search"进行查询。

下面就是查询结果,以XML结果显示。

到目前为止,Nutch二次开发的前期工作已经准备完毕,并在上面进行简单的抓取,后面我们将对Nutch的源码以及工作原理相结合进行分析。进一步认识Nutch。

Nutch搜索引擎(第4期)_ Eclipse开发配置的更多相关文章

  1. Nutch搜索引擎系列(目录)

    下面是Nutch搜索系列目录,希望对研究Nutch的同学有所帮助. 目录安排: 1)Nutch搜索引擎(第1期)_ Nutch简介及安装[下载] 2)Nutch搜索引擎(第2期)_ Solr简介及安装 ...

  2. Nutch搜索引擎系列

    下面是Nutch搜索系列目录,希望对研究Nutch的同学有所帮助. 目录安排: 1)Nutch搜索引擎(第1期)_ Nutch简介及安装[下载] 2)Nutch搜索引擎(第2期)_ Solr简介及安装 ...

  3. Nutch搜索引擎(第2期)_ Solr简介及安装

    1.Solr简介 Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器.同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置.可扩展并对查询性能进行了优化 ...

  4. Nutch搜索引擎Solr简介及安装

    Nutch搜索引擎(第2期)_ Solr简介及安装   1.Solr简介 Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器.同时对其进行了扩展,提供了比Lucene更为丰富的 ...

  5. Hadoop集群(第7期)_Eclipse开发环境设置

    1.Hadoop开发环境简介 1.1 Hadoop集群简介 Java版本:jdk-6u31-linux-i586.bin Linux系统:CentOS6.0 Hadoop版本:hadoop-1.0.0 ...

  6. Hadoop集群 -Eclipse开发环境设置

    1.Hadoop开发环境简介 1.1 Hadoop集群简介 Java版本:jdk-6u31-linux-i586.bin Linux系统:CentOS6.0 Hadoop版本:hadoop-1.0.0 ...

  7. maven实战(01)_搭建开发环境

    一 下载maven 在maven官网上可下载maven:http://maven.apache.org/download.cgi 下载好后,解压.我的解压到了:D:\maven\apache-mave ...

  8. SBT 构建scala eclipse开发

    scala eclipse sbt 应用程序开发 搭建Eclipse开发Scala应用程序的一般步骤 一.环境准备: 1.Scala : http://www.scala-lang.org/ 2.Sc ...

  9. windows环境下Eclipse开发MapReduce程序遇到的四个问题及解决办法

    按此文章<Hadoop集群(第7期)_Eclipse开发环境设置>进行MapReduce开发环境搭建的过程中遇到一些问题,饶了一些弯路,解决办法记录在此: 文档目的: 记录windows环 ...

随机推荐

  1. Service的生命周期&Service绑定方法

    服务的生命周期: 一.采用start的方式开启服务 生命周期如下: 开启服务: onCreate()--> onStartCommand() (onStart()过时了)---> onDe ...

  2. 基于AFNetWorking 3.0封装网络请求数据的类

    对于使用 AFNetworking 的朋友来说,很多朋友都是直接调用 AFNetworking的 API ,这样不太好,无法做到全工程统一配置. 最好的方式就是对网络层再封装一层,全工程不允许直接使用 ...

  3. 大家一起和snailren学java-(二)一切都是对象

    “今天是周末,虽然外面阳光晴好,但是作为一名单身狗,还是除了寝室,就只有图书馆了.Anyway,既然没有对象,那我们就在java中找对象吧,哈哈.没有对象的人,看一切,都是对象!” 在面向对象程序设计 ...

  4. C# 日志框架的添加

    .NET中 记录日志的比较好的主要是Log4Net和Enterprise Library的Logging 复杂一点的还可以实现自动化Log日志 教程 首先是第二种方式 1.需要添加以下几个DLL  下 ...

  5. Java小方法

    /** * 计算百分比. * @param dividend 被除数 * @param divisor 除数 * @return 结果 */ private String getPercent(lon ...

  6. 问题解决——SolidWorks 已停止工作 (Windows7 + SolidWorks 2010 SP0.0)

    给同事的SolidWorks解决问题时偶然间发现的. -------------------------------------------------------------- 本文原创,转载请注明 ...

  7. ORA-29857: domain indexes and/or secondary objects

    dmp导入的时候出了问题,想把表空间和用户删除重建,然后再重新导入,却在删除表空间时报错:   > ORA-29857: domain indexes and/or secondary obje ...

  8. mysql sql获取上条插入id,update影响行数

    1.获取上条插入数据 LAST_INSERT_ID(); 2.获取update影响行数. ROW_COUNT(); mysql> UPDATE t -> SET address = 'be ...

  9. XNote Ver:0.79

    隐藏主窗后,双击小图标显示主窗. 支持拖拉网页文字到小图标上,直接在当前项目上创建下级资料项目. 项目分类限50个汉字.

  10. Rhythmbox中文乱码问题的解决

    Rhythmbox中文乱码问题的解决 Rhythmbox是Ubuntu自带的一款很优秀的音乐播放器,但是在处理中文时却不太友好,导入歌曲时中文会变成乱码 这个问题也是很好解决的. ** 1.Ctrl+ ...