Windows XP虚拟机Ubuntu10.10下安装配置Nutch1.2

因为Nutch是一个搜索引擎,里面包含了爬虫、索引和提供搜索。所以为了提供查询服务,还需要下载tomcat,另外因为Nutch是使用java开发的,其运行自然少不了jdk。我采用的jdk版本是jdk-6u24-linux-i586.bin,tomcat版本是apache-tomcat-7.0.27,Nutch版本是1.2。

本文的Nutch是在Windows XP虚拟机Ubuntu10.10中安装和部署的。

首先在Windows XP虚拟机中安装Ubuntu10.10,具体如何安装请参见文章:http://blog.csdn.net/cailibiao/article/details/7547958

我采用的虚拟机软件VMware Workstation6.5,Ubuntu版本是10.10。VMware Workstation采用6.5版而不是最新版7.0,是因为我的电脑配置运行不了7.0版。还有网上说Virtualbox相对VMware Workstation要好用很多,而且也小很多,具体我没用过,有兴趣的朋友可以试下。

一、准备

本文使用如下版本的jdk,nutch和tomcat:

jdk-6u24-linux-i586.bin,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html

apache-tomcat-7.0.27.tar.gz,下载地址:http://tomcat.apache.org/

apache-nutch-1.2-bin.zip,下载地下载:http://apache.etoak.com//nutch/apache-nutch-1.2-bin.zip

首先下载上述软件,然后在Ubuntu的“/home/用户名”目录下建立一个文件夹保存文件,我建了一个tmp文件夹,最后用FileZilla软件将上述文件通过Windows XP宿主机上传到Ubuntu的这个新建文件夹中。具体操作可参考文章:http://blog.csdn.net/cailibiao/article/details/7549924

二、步骤

1. JDK1.6安装

(1)安装jdk

          在Ubuntu中进入/home/用户名/tmp文件夹下,运行jdk安装文件,命令如下:

         ./jdk-6u24-linux-i586.bin

(2)修改权限

         此时若提示权限不够,还要修改权限,命令如下:

         chmod 755 jdk-6u24-linux-i586.bin 或 chmod 777 jdk-6u24-linux-i586.bin

注:

1. 在对某一文件或文件夹进行操作时,若权限不够,即不能执行文件或不能在文件夹下新建文件,可以反复运用上述命令修改权限

2. ubuntu中root帐号默认是没有开启的,即ubuntu中root帐号是锁定了的,为了启用root帐号,需要运用如下命令:

sudo passwd root //为root设置新的密码

当设置好root用户的密码之后,我们就可以使用了,当我们在安装或查看一些特殊文件,特殊操作时,需要使用到root用户,只须在普通用户下用su就可以切换了

su root //输入root用户的密码就可以使用了,一般我们可以不这样用,因为这是root用户,我们可以不用把root跟在su命令之后也行的,但若是普通用户切换到其它用户就必须

将用户名跟在su的后面,若是root用户切换到普通用户,直接exit就可以了。

当你使用完毕后屏蔽root帐号使用命令:

sudo passwd -l root //这条命令将锁住root用户,就相当于回到系统前,root用户没有密码,从而不能使用,这样就更为安全。

(3)移动文件

          将解压后生成的文件jdk1.6.0_24移动到/usr目录下,命令为:

          mv /home/用户名/tmp/jdk1.6.0_24 /usr

          同时命名为jdk1.6,命令为:

           mv jdk1.6.0_24 jdk1.6

(4)环境变量配置

         执行命令:sudo gedit /etc/environment

         更新PATH,同时添加CLASSPATH、NUTCH_JAVA_HOME和TOMCAT_HOME环境变量

         PATH后面添加“:/usr/jdk1.6/bin”

         //其实在后面下面三个环境变量好像并没有用到

         CLASSPATH=".:/usr/jdk1.6/lib"

         NUTCH_JAVA_HOME="/usr/jdk1.6/" (配置Nutch的时候会用到)

         TOMCAT_HOME="/usr/tomcat7.0/" (配置tomcat的时候会用到)

2. Nutch1.2安装

(1)解压unzip apache-nutch-1.2-bin.zip,解压后目录名为nutch-1.2,然后移动到/usr目录下

(2)在nutch-1.2目录下创建目录urls(可任意名)”mkdir urls“,在urls目录下创建文件url.txt(可任意名),"sudo gedit url.txt",输入爬虫的入口地址:http://www.baidu.com

(3)打开nutch-1.2/conf/crawl-urlfilter.txt,定位到最后的MY.DOMAIN.NAME一行,将其改为实际的网址或者*,如为*则可爬取任意网站。

原来:+^http://([a-z0-9]*\.)*MY.DOMAIN.NAME/
改为:+^http://([a-z0-9]*\.)*或者:+^http://([a-z0-9]*\.)*www.baidu.com

(4)打开nutch-1.2/conf/nutch-site.xml,加入下面内容

<configuration>
    <property>
        <name>http.agent.name</name>
        <value>mynutch</value>这部分是必须的,可以是任意的名字

 </property>
 </configuration>

至此nutch的基本配置完成。

(5)开始爬取网页

命令行输入:

bin/nutch crawl urls -dir crawl -depth 2 -topN 50 -threads 2
其中:  

            bin/nutch     执行bin目录下的nutch脚本(nutch安装程序下的bin目录,本文为/usr/nutch-1.2/bin/nutch)

            crawl            执行爬虫命令

            urls是爬取的入口地址

            -dir = crawl    指明下载数据存放路径,该目录不存在时,会被自动创建
            -deptch = 2       下载深度为2
            -topN = 50      下载符合条件的前50个页面
            -threads = 2      启动的线程数目
爬虫运行时会输出大量数据,抓取结束之后,可以发现crawl目录被生成,里面有crawldb,linkdb,segments,indexes 和 index 五个目录
(6)开始搜索测试

bin/nutch org.apache.nutch.searcher.NutchBean searchwors

其中searchwors是要搜索的关键字,返回搜索结果。

如:

3. 通过tomcat进行web搜索

(1)解压tar xzvf apache-tomcat-7.0.27.tar.gz包到指定目录,然后移动到/usr目录下,并重命名为tomcat7.0

(2)将nutch-1.2中的nutch-1.2.war复制到tomcat目录下的webapps/中(本文为/usr/tomcat7.0/webapps/),tomcat在运行状态下会自动解压缩这个包,打开解压缩后的包,在文件/nutch-1.2/WEB-INF/classes/nutch-site.xml中加入:

<property>

    <name>searcher.dir</name>

    <value>/usr/nutch-1.2/crawl</value>

</property>

这个value值为所爬取到的数据的存储路径,搜索引擎根据这个路径搜索到用户想要的内容。

注:

如果没有自动解压nutch-1.2.war,可以通过如下命令启动tomcat,然后tomcat运行时就会自动解压该包并生成nutch-1.2文件

命令为:

/usr/tomcat7.0/bin/startup.sh

(3)在Web上进行nutch搜索

在浏览器中输入http://localhost:8080/nutch-1.2,显示nutch的搜索界面。

在出现的搜索界面中填写搜索关键词,即可获得结果。

(4)乱码处理

如果出现乱码,则将tomcat安装目录下conf/server.xml定位到connector并修改一下:

<Connector prot="8080" protocol="HTTP/1.1"

         connectionTimeout="20000"

         redirectPort="8443"

         URIEncoding="UTF-8"

         useBodyEncodingForURI="true" />

如里还是不能解决,重启下虚拟机就好了。

搜索百度结果如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值