就下载 —— 安全下载、无毒手机软件、绿色软件官方下载网站最近更新|下载排行|热门标签|收藏本站

您现在的位置是:就下载 > IT资讯 > 软件教程 > windows系统中myeclipse配置nutch图文教程

最近在研究nutch,网上几乎没有一篇在window环境下能够配置正确的文档.今天一天的努力,终于配置成功了!现在将资料和配置过程整理如下.

1、安装Cygwin

首先,到http://www.cygwin.com/官网上下在setup.exe安装程序,下载后双击它,出现程序安装的向导界面(如图1所示)。



点击“下一步”后,安装向导要求选择Cygwin的安装方式,如图2所示:



图示中共有三种安装方式:
(1)Install from Internet:从Internet上下载并安装软件;
(2)Download Without Installing:从Internet上下载安装的文件,但暂时不安装;
(3)Install from Local Directory:从本地含有安装文件的目录进行安装。
我们选择第三项“Install from Inter”后,点击“下一步”,如图3所示:



安装向导要求选择Cygwin的安装路径,我们可以在“Root Directory”文本框中更改安装路径,点击“下一步”,如图4所示:



安装向导要求选择下载的Cygwin安装文件的本地存储路径,可以在“Local Package Directory”中设置,点击“下一步”,如图5所示:



安装向导显示出所要安装的内容列表,用户可以根据自己的实际需要来决定安装哪些程序。点击循环箭头图标后面的文字,可以更改安装的方式,常用的方式有Default(表示只安装缺省的安装项)、Install(表示安装全部程序,空间要求较大)、Reinstall(表示重新安装程序)。推荐选择“Install”方式,一步到位,以免后扰,不过用户应保证至少有2G以上的空间可供使用。点击“下一步”后,就开始正式的安装了(如图6所示)。



最后出现如图7所示的窗口,点击“完成”后,Cygwin安装完毕。



Nutch 的脚本都是用 Linux 的 Shell 写的,所以在 Windows 平台需要一个 Shell 解释程 序。Cygwin 是一个在 Windows 下的模拟 Linux 系统程序 。

2、安装Nutch

去http://mirror.vmmatrix.net/apache/lucene/nutch/下载到Nutch的最新版本,将其解压到指定目录中,如笔者是将其解压到I:/nutch-1.1中。

3、测试Nutch命令

在运行Nutch的脚本命令前,需要设置一些环境变量。Cygwin提供了一个名为cygwin.bat的文件,通过它可以自动完成必需环境变量的设置。该文件可在cygwin所在的根目录下找到,感兴趣的读者还可通过UltraEdit等编辑器打开该文件一查究竟。其实Cygwin安装完成之后,会在Windows系统桌面生成一图标,如图8所示:


此图标就是cygwin根目录下cygwin.bat文件的快捷方式,双击此图标将打开一类似DOS窗口。由于先前笔者将Nutch的压缩包解压至I:/nutch-0.7.1中,故在此命令窗口中输入命令“cd /cygdrive/i/nutch-1.1”,读者可根据自己的安装路径进行相应的修改,然后使用命令“ls -l”可查看nutch-0.7.1中的所有子目录及文件信息。执行命令“bin/nutch”,如果读者能看到如图9所示的提示,那恭喜你,Nutch在Windows系统中的安装已经大功告成了!

cygwin 环境下 , 进入 windows 某个盘加cygdrive , cd /cygdrive/d/ 就相当于进入 d 盘。在这里你使用命令时,注意路径的正确性。


上面是讲解了如何装cygwin,在使用nutch前,这个cywin是必须要安装的,且要进入到nutch的安装目录下,执行bin/nutch命令成功后,nutch才能正常使用.

注意:在选择cygwin的下载地址时选择最上边第一个地址下载比较快.

注意:在cygwin的安装过程中如果出现断网,是可以重新接着上次的下载进度继续下载的,重新点击setup.exe,在

这里,选择reInstall,则为接着上次的下载.

注意:在使用bin/nutch命令前,需要使用CD命令进入到nutch的安装目录下再使用.例如我下载nutch-1.1后,nutch-1.1的目录如下.

那么首先执行cd /cygdrive/c/Documents and Settings/Administrator/桌面/apache-nutch-1.1-bin/apache-nutch-1.1-bin,再执行bin/nutch.

安装完cygwin后,就可以在myeclipse中配置nutch了,如下:

myeclipse myeclipse 9.0M1 完整版 评分: 8.3 类别: 编程工具    大小:737.7M    语言: 英文
查看详细信息 >>

在MyEclipse中搭建Nutch开发环境

1以JavaProject形式搭建

1.1第一步:下载Nutch的压缩包

到Nutch的网站上下载Nutch的压缩包,这里以Nutch1.1为例。Nutch各版本的下载地址为http://archive.apache.org/dist/nutch/,进入该网页后,找到apache-nutch-1.1-bin.tar.gz文件,将其下载到自己的电脑里。

1.2第二步:新建一个Java项目

打开MyEclipse,点击File→New→JavaProject新建一个Java项目,输入ProjectName如Nutch1.1,点击Finish按钮。如下图所示。

1.3第三步:导入Nutch的代码

将第一步下载的Nutch压缩包解压,解压后的目录结构如下图所示。

将src/java目录下的整个org文件夹copy到Nutch1.1项目的src目录下。

1.4第四步:导入Nutch的配置文件、Jar包、插件

在第三步解压后的目录下,找到conf、lib、plugins三个文件夹,将这三个文件夹copy到Nutch1.1项目的根目录下(即与src目录同级)。Copy完后,Nutch1.1项目的目录结构如图所示。

1.5第五步:替换Nutch中Hadoop的核心包

官方版本的Hadoop是不支持Windows下的存取操作的,我们需要将其替换为自己修改过的Jar包。在Nutch1.1项目的lib目录下,找到Hadoop的核心包(如:hadoop-0.20.2-core.jar),将其删除,然后将自己的Jar包(hadoop-0.21.0-core.jar)copy到该目录下。

注意:这一步,如果没有修改过的包,则可以略过这一步,暂时不影响环境的配置的.

1.6第六步:在MyEclipse中为项目加载Jar包

在MyEclipse中刷新Nutch1.1项目,可以看到如下所示的目录结构。

我们会发现src目录下有错误存在,这是因为尽管该项目的lib目录下有Jar包,但是没有将其加入到ClassPath变量中。下面来解决这个问题。

在Nutch1.1目录上单击右键→BuildPath→ConfigureBuildPath…将打开如下所示的对话框。

在Libraries选项卡里,点击AddJARs…按钮,将出现如下所示的对话框。

展开Nutch1.1目录,展开lib目录,将lib文件夹及其子文件夹下的全部Jar包选中,然后单击OK按钮,如下图所示。

单击OK按钮后,将回到Libraries选项卡,此时该选项卡将如下所示。

最后,单击Libraries选项卡里的OK按钮,回到MyEclipse的主页面,看看src目录上的错误是不是消失了。

1.7第七步:在MyEclipse中为项目加载配置文件

同理,虽然conf目录下已经有配置文件了,但Java虚拟机仍不能识别它们,因为它们也没有加入到ClassPath变量中。下面我们来将其加入。

在conf目录上单击右键→BuildPath→UseasSourceFolder。然后我们会发现conf目录变成了一个“SourceFolder”,这样conf目录下的配置文件就被中加入到ClassPath变量中了。

1.8第八步:修改Nutch中的配置

Nutch中默认的配置并不能使Nutch正常运行,需要修改几个地方后才能使Nutch运行起来。

1.8.1修改nutch-default.xml

在conf目录下找到nutch-default.xml文件,将其打开,找到http.agent.name配置项,如果该项的value值为空,则随便加入一个值,然后保存。如下图所示。

1.8.2修改crawl-urlfilter.txt

在conf目录下找到crawl-urlfilter.txt文件,将其打开,找到#accepthostsinMY.DOMAIN.NAME配置项,将其下面的正则表达式+^http://([a-z0-9]*\.)*MY.DOMAIN.NAME/改为+^http://([a-z0-9]*\.)*。找到#skipURLscontainingcertaincharactersasprobablequeries,etc.配置项,如果其下面有-[?*!@=]形式的正则表达式,将其删除,或将-号改为+号。最后,保存所作的修改。如下图所示。

此外,还可以修改nutch-site.xml这个文件的配置。(这里略去,不作修改)

1.9第九步:测试Crawl类,修正运行中的各种错误

经过以上的操作,Nutch的开发环境的搭建就有可能大功告成了,现在我们就可以开始运行Nutch了。我们通过Crawl类来运行Nutch,运行时将出现两种结果,一是顺利地运行完成,二是程序被各种异常终止(即运行失败)。如果出现第一种结果,恭喜你,Nutch的开发环境搭建成功;如果出现第二种结果,很抱歉,你可能离成功还有很远,不过没关系,你可以一步一个脚印,修正运行中的各个错误。

下面,按如下步骤来运行Nutch,修正运行中的各种错误。

1.9.1运行前的准备工作

Nutch爬虫运行时需要一个入口,即一个或若干个url,通常将url存放在一个txt文件中。因此,运行前需要有这样的txt文件。

在Nutch1.1项目的根目录下新建一个名为“testData”的文件夹,在该文件夹下新建一个名为“urls.txt”的文件,在urls.txt文件中写入若干url,如下图所示。

1.9.2打开Crawl类,配置运行参数

在MyEclipse中,展开src目录,找到org/apache/nutch/crawl包下的Crawl.java类,双击打开。

在MyEclipse的工具栏上找到,点击右边的黑色小三角,再点击RunConfigurations…,将打开一个对话框,如下图所示。

点击Arguments选项卡,如下图所示输入运行参数和虚拟内存,点击Apply按钮,再点击Close按钮,返回主界面。

1.9.3运行Crawl类

打开Crawl类,点击工具栏上左边的小三角,程序开始运行起来,耐心等待程序执行完成。

如果程序运行后,满足以下几个条件则认为程序运行正常,开发环境搭建成功。如果不满足以下的条件,则认为程序运行失败,需要修正各种错误。

①程序没有被异常终止

②运行中没有抛出较严重的异常

③运行结束时,控制台出现类似以下的信息

④运行结束后,testData目录下出现out文件夹,且out目录下出现如下所示的子文件夹,并且各子文件夹中的文件要有数据

1.9.4修正错误,直至运行成功

如果上一步中,Crawl类运行成功,则此步可以跳过。

如果上一步中,Crawl类运行失败,则要根据实际情况,一步一个脚印,碰到一个错误修正一个错误,直到Crawl类运行成功。

下面给出运行中常见的错误及其解决方法。

①java.lang.NoClassDefFoundError

这类异常是因为没有找到相应的类文件,通常是缺少Jar包。

以下图的异常为例,该异常是因为缺少jackson的Jar包,因而找不到相应的类文件。解决方法是:将jackson-core-asl-1.4.2.jar和jackson-mapper-asl-1.4.2.jar文件加入到lib目录下,再通过MyEclipse加入Jar包的方法将这两个Jar包加入到ClassPath变量中。

②Jobfailed!

Jobfailed是Nutch中最常见也是最复杂的问题,引发该异常的原因数不胜数,解决方法应视具体情况而定。遇到该问题时,通常可以按以下步骤来解决。

第一:检查Hadoop的核心包是否替换,没有则替换为自己修改过的Jar包,如:hadoop-0.21.0-core.jar。

第二:检查nutch-defult.xml是否修改,以及是否修改正确。

第三:检查crawl-urlfilter.txt是否修改,以及是否修改正确。

第四:以上三种方法仍然不能解决时,需要查看Hadoop的日志文件hadoop.log(该文件通常在项目的根目录下,也可能在其他地方),来找出出现问题的具体原因。

下面是hadoop.log的一个片段,该片段说明了引起Jobfailed的一个原因:avro的某些类文件未找到。因此,说明我们还要在项目中加入avro的Jar包,如:avro-1.3.2.jar。

下面是hadoop.log的另一个片段,该片段说明了引起Jobfailed的另一个原因:OutOfMemoryError(内存溢出错误)。这个错误说明运行的虚拟内存太小或者根本就没设置虚拟内存,解决方法是在配置Crawl运行参数的对话框中正确设置虚拟内存的大小。

③Inputpathdoesnotexist

这个异常说明输入路径不存在,即含有url的txt文件不存在。引起这个异常的原因有两个,一个是没有所需的txt文件,另一个是运行参数配置错误。解决的方法是首先检查txt文件是否存在,然后检查Crawl的运行参数是否如下图的形式配置(注意斜杠和空格)。

④Toosmallinitialheap

Crawl运行时直接输出上图的信息时,说明虚拟内存太小了,同时检查虚拟内存的配置,将其配置正确。(此时多为数字后面掉了m)

⑤⑥

1.10第十步:搭建完成,运行Nutch

经过上面的操作,相信Crawl类可以成功运行了,直至Nutch开发环境的搭建终于大功告成了。现在,就可以利用Nutch来爬行互联网了。

注:到这里就完了,我基本上是按照上面的步骤配置成功的.希望能够对大家有所帮助,有不正确的地方也希望提出来!最近由于忙实验,赶论文,时间有限,希望大家见凉!

1.11查询搜索:

nutch提供了类似google、baidu的网页页面,关闭tomcat服务,在nutch-1.1/下找到nutch-1.1.war文件,放到C:\ProgramFiles\ApacheSoftwareFoundation\Tomcat7.0/webapps目录下,重新启动tomcat服务,则自动解压出nutch-1.1,修改nutch-1.1/WEB-INF/classes/nutch-site.xml文件内容如下:

<property>
<name>http.agent.name</name>
<value>sina</value>
</property>
<property>
<name>searcher.dir</name>
<value>D:/MyEclipse 8.5/Workspaces/Nutch-1.1/testData/out</value>
</property>

(value的值是爬行后的sina目录位置)

注意:①nutch-1.2.war应在爬完网页再解压②每次修改nutch-site.xml都需要重启tomcat.

配置完成后,启动tomcat,输入http://localhost:8080/nutch-1.1,输入关键字sina,就会看到结果了。

解决中文问题

查询结果有时会出现乱码,解决方法如下:

打开tomcat7.0目录下的conf\server.xml,作如下修改:

<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" useBodyEncodingForURI="true"/>

上一篇:鲁大师支持命令行吗

本文地址:软件教程 >> http://www.9xz.net/it/ruanjianjiaocheng/18074.html

下一篇:Windows Phone 7.8 SDK 离线安装图文教程

  • 打印
推荐阅读
热门专题
推荐内容
热点内容