nutch.docx
《nutch.docx》由会员分享,可在线阅读,更多相关《nutch.docx(13页珍藏版)》请在冰豆网上搜索。
nutch
Nutch实验过程与学习心得
1.1安装Nutch
1.1.1实验环境
Linux操作系统,采用的是VMWare虚拟机下的Ubuntu10.10系统。
1.1.2安装的必要软件
1.JDK,本人采用的是JDK1.6版本,为了方便大家学习,给出软件的下载链接,在下载时,注意选择linux下的版本,不要选择windows的版本,此次实验下载的是jdk-6u13-linux-i586.bin。
2.Tomcat,采用的是apache-tomcat-6.0版本,此次实验选择的是apache-tomcat-6.0.32.tar.gz。
http:
//tomcat.apache.org/
3.Nutch,采用的是apache-nutch-1.1版本,此次实验选择的是apache-nutch-1.1-bin.tar.gz。
http:
//nutch.apache.org/
4.最后尽量采用较新的版本,否则,可能出现其他问题。
1.1.3软件的安装方法和安装过程
1.安装JDK
1)将下载好的jdk的bin文件放到虚拟机环境下,例如,可以放在/home目录下(虚拟机和主机之间的文件传递可以简单通过U盘或移动硬盘,当然还有其他很多种方法,可自行选择)。
2)到jdk的bin文件目录下,执行命令,安装jdk。
安装命令:
[root@localhost-]#shjdk-6u13-linux-i586.bin
一直按Enter键,知道需要选择yesorno,选择也是即可。
(注意:
如果对于linux不太熟悉,最简单的方法就是在操作界面中启动终端,应用程序->附件->终端,然后即可再次之下输入命令行了。
一般情况下,进入终端后的结果:
andy是本人linux系统下用户名,每个人都不同。
先获取root权限,命令如下:
andy@andy-virtual-machine:
~$sudo–sH
并且需要输入password,输入的password是不会在终端中显示的,命令执行后的结果:
此时,已获得root权限。
)
3)修改环境变量,在etc/environment文件中修改,如果在用户界面中直接点开,用可能是只读形式,所以不能修改,需在命令行窗口打开。
首先,转到etc目录下,根据自己的情况,输入cd命令,例如,从当前目录andy转到etc目录下,
命令如下:
[root@andy-virtual-machine:
/home/andy]#cd../../etc
打开environment文件,
命令如下:
[root@andy-virtual-machina:
/etc]#geditenvironment
在文件environment中修改:
在PATH中追加路径配置,添加CLASSPAHT和JAVA_HOME配置,根据自己jdk的路径配置,这里以我自己的路径配置为例。
PATH=“...:
/home/andy/jdk1.6.0_13/bin”
CLASSPATH=.:
/home/andy/jdk1.6.0_13/lib
JAVA_HOME=/home/andy/jdk1.6.0_13/
4)由于ubuntu可能会有默认的jdk,所以要将默认的jdk改成已经安装好的jdk。
命令如下:
[root@andy-virtual-machine:
~]#update-alternatives--install/usr/bin/javajava/home/andy/jdk1.6.0_13/bin/java300
[root@andy-virtual-machine:
~]#update-altenatives–install/usr/bin/javajava/home/andy/jdk1.6.0_13/bin/javac300
再将安装的jdk加入到java选单中。
命令如下:
[root@andy-virtual-machine:
~]#update-alternatives--configjava
5)查看jdk是否安装成功
命令如下:
[root@andy-virtual-machine:
~]#java–version
如果出现下列结果,jdk安装成功。
2.安装nutch
1)将下载好的文件apache-nutch-1.1-bin.tar.gz放到虚拟机环境下,在apache-nutch-1.1-bin.tar.gz文件目录下解压,本例中文件放在/home/andy目录下。
命令如下:
[root@andy-virtual-machina:
/home/andy]#tarzxvfapache-nutch-1.1-
bin.tar.gz
2)为了方便以后命令行的输入,可以将安装好的文件夹更改名称,这样安装好的文件夹的名称就是nutch了。
命令如下:
[root@andy-virtual-machina:
/home/andy]#mv原文件名称nutch
3)Nutch命令的测试,nutch文件夹目录下。
命令如下:
[root@andy-virtual-machina:
/home/andy/nutch]#bin/nutch
3.安装tomcat
1)将下载好的文件apache-tomcat-6.0.32.tar.gz放到虚拟机环境下,在apache-tomcat-6.0.32.tar.gz文件目录下解压,本例中文件放在/home/andy目录下。
命令如下:
[root@andy-virtual-machina:
/home/andy]#tarzvxfapache-tomcat-
6.0.32.tar.gz
2)更改安装好的文件夹名称。
命令如下:
[root@andy-virtual-machina:
/home/andy/]#mv原文件名称tomcat
3)将nutch自带的.war文件拷贝到tomcat的webapps文件夹下。
命令如下:
[root@andy-virtual-machina:
/home/andy/]#cdtomcat/webapps
[root@andy-virtual-machina:
~]#rm–rfROOT*
[root@andy-virtual-machina:
~webapps]#cp../../nutch/nutch*.war
ROOT.war
4)启动和关闭tomcat,在bin目录下,startcatalina.sh。
命令如下:
[root@andy-virtual-machina:
/home/andy/tomcat/bin]#catalina.shstart
[root@andy-virtual-machina:
/home/andy/tomcat/bin]#catalina.shstop
5)在浏览器中,打开http:
//localhost:
8080(其中8080是tomcat的默认端口号)。
1.2Nutch爬行实验
1.2.1简单的爬行实验过程
1.对nutch进行配置
1)在nutch目录下进行,增加抓取页面,在本次实验中采用的是。
首先,增加一个url文件,在这里先增加一个目录urls,然后再在该目录下添加一个文件,文件名为sohu,将要抓取的页面写入其中。
命令如下:
[root@andy-virtual-machina:
/home/andy/nutch]#mkdirurls
[root@andy-virtual-machina:
/home/andy/nutch]#echohttp:
//www.sohu.
com/>>urls/sohu
也可以使用gedit命令,添加文件。
2)改写nutch/conf目录下的crawl-urlfilter.txt文件,设定抓取信息。
命令如下:
[root@andy-virtual-machina:
/home/andy/nutch]#geditconf/crawl-
urlfilter.txt
修改MY.DOMAIN.NAME为
#accepthostsinMY.DOMAIN.NAME
+^http:
//([a-z0-9]*\.)*
3)改写nutch/conf目录下的nutch-default.xml文件,设定搜索目录,例如,搜索目录名称定为crawl,可以自定义名称,但是要与下面的tomcat设置相同。
命令如下:
[root@andy-virtual-machina:
/home/andy/nutch]#geditconf/nutch-default
.xml
修改文件中的搜索目录。
searcher.dir
crawl
2.对tomcat进行配置
1)设定搜索目录,要与nutch-default.xml中设定的相同,此时要在tomcat目录下进行设置。
命令如下:
[root@andy-virtual-machina:
/home/andy/tomcat]#geditwebapps/RO
OT/WEB-INF/classes/nutch-site.xml
添加或修改部分代码,如下:
searcher.dir
/home/andy/nutch/crawl
3.开始抓取网站,以为例。
1)爬行命令,在nutch文件目录下,进行。
命令如下:
[root@andy-virtual-machina:
/home/andy/nutch]#bin/nutchcrawlurls-dircrawl-depth2-threads4-topN50>&crawl.log
Urls表示存放网址的文件目录;
-dircrawl表示抓取后结果的存放记录;
-depth表示爬行的深度;
-threads表示并发进程;
-topN表示每层上抓取的最大页面数。
1.3Nutch爬行实验结果
1.3.1实验结果
1.在crawl.log中记录如下。
crawlstartedin:
crawl.demo3
rootUrlDir=urls
threads=4
depth=2
indexer=lucene
topN=50
Injector:
starting
Injector:
crawlDb:
crawl.demo3/crawldb
Injector:
urlDir:
urls
Injector:
Convertinginjectedurlstocrawldbentries.
Injector:
Merginginjectedurlsintocrawldb.
Injector:
done
Generator:
Selectingbest-scoringurlsdueforfetch.
Generator