Nutch分布式检索配置过程及端口启动顺序对搜索结果的影响分析

Nutch分布式检索配置过程及端口启动顺序对搜索结果的影响分析
蒋明原(2010/1/25)

     Nutch分布式检索配置过程及端口启动顺序对搜索结果的影响分析
实验条件:
a),nutch-1.0
从原始nutch-1.0.tar.gz中解压出之后没有经过任何改动
b),tomcat中 nutch-1.0web工程
拷贝nutch-1.0中的nutch-1.0.war到tomcat/webapps目录中,启动tomcat,使其自动部署。部署完成之后,在webapps中会生成一个nutch-1.0web工程
c),修改tomcat/webapps/nutch-1.0/WEB_INF/classes/nutch-site.xml文件,添加搜索目录
修改之后的文件内容如下



searcher.dir
/disk2/server
sddd


其中/disk2/server中包含分布式检索所需要的search-servers.txt文件,search-servers.txt包含服务器地址与端口号
search-servers.txt中内容:
localhost 9999
localhost 8888
d),以上具体配置可以参考:NutchHadoopTutorial――http://wiki.apache.org/nutch/NutchHadoopTutorial

实验过程
1.当只创建search-servers.txt,并在nutch-site.xml中指向包含search-servers.txt的目录之后,启动tomcat,进行搜索,结果是空白,不是错误页面.这个空白页面不是0结果的页面,而是在浏览器地址栏中存在url,在浏览器内容部分没有显示内容.
在~/tomcat/log/catlina.out中日志如下:
2010-01-25 11:21:39,534 ERROR NutchBean - java.net.ConnectException: Call to localhost/127.0.0.1:9999 failed on connection exception:
java.net.ConnectException: Connection refused
××××××××××××××略去××××××××××××
Jan 25, 2010 11:21:40 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 2683 ms

2.开始启动端口 (bin/nutch server 9999 /disk2/mydata,bin/nutch server 8888 /disk2/demo)
依旧如上结果,日志中有新内容
2010-01-25 11:26:35,166 INFO PluginRepository - Plugins: looking in: /home/mingyuan/tomcat/webapps/nutch-1.0/WEB-INF/classes/plugins
2010-01-25 11:26:35,417 INFO PluginRepository - Plugin Auto-activation mode: [true]
2010-01-25 11:26:35,417 INFO PluginRepository - Registered Plugins:
××××××
2010-01-25 11:26:35,418 INFO PluginRepository - Registered Extension-Points:
2010-01-25 11:26:35,418 INFO PluginRepository - Nutch Summarizer (org.apache.nutch.searcher.Summarizer)
2010-01-25 11:26:35,419 INFO PluginRepository - Nutch Protocol (org.apache.nutch.protocol.Protocol)
2010-01-25 11:26:35,424 INFO NutchBean - query request from 127.0.0.1
2010-01-25 11:26:35,457 INFO Configuration - found resource common-terms.utf8 at file:/home/mingyuan/tomcat/webapps/nutch-1.0/WEB-INF/classes/
common-terms.utf8
2010-01-25 11:26:35,525 INFO NutchBean - query: http
2010-01-25 11:26:35,525 INFO NutchBean - lang: en
2010-01-25 11:26:38,068 INFO NutchBean - query request from 127.0.0.1
说明此时已经开始加载插件等操作,并开始接收查询。但由于先前server启动过程中的异常,导致相关服务没有启动,从而查询不到信息。
3.保持端口开启,重启tomcat,搜索结果正常,日志如下
2010-01-25 11:36:44,596 INFO PluginRepository - Plugins: looking in: /home/mingyuan/tomcat/webapps/nutch-1.0/WEB-INF/classes/plugins
2010-01-25 11:36:45,028 INFO PluginRepository - Plugin Auto-activation mode: [true]
2010-01-25 11:36:45,029 INFO PluginRepository - Registered Plugins:
××××××××××××××略去××××××××××××
2010-01-25 11:36:45,032 INFO PluginRepository - Registered Extension-Points:
××××××××××××××略去××××××××××××
2010-01-25 11:36:45,038 INFO NutchBean - query request from 127.0.0.1
2010-01-25 11:36:45,065 INFO Configuration - found resource common-terms.utf8 at file:/home/mingyuan/tomcat/webapps/nutch-1.0/WEB-INF/classes/
common-terms.utf8
2010-01-25 11:36:45,141 INFO NutchBean - query: http
2010-01-25 11:36:45,141 INFO NutchBean - lang: en
2010-01-25 11:36:45,218 INFO NutchBean - searching for 20 raw hits
2010-01-25 11:36:46,214 INFO NutchBean - total hits: 1100
4.关掉9999端口(ps -ef | grep 9999,找出对应进程会号,kill掉)
结果减少,减少数量为9999端口对应索引数量
5.关闭8888端口(ps -ef | grep 8888,找出对应进程会号,kill掉)
结果减少至0,注意此结果不同于(1)中结果。这是结果为0的搜索结果。(1)中现象是没有正常加载search-server.txt中数据导致的
6.开启9999端口(bin/nutch server 9999 /disk2/mydata)
搜索结果恢复为9999端口对应索引数目。注意:若是在启动9999端口之后马上进行搜索,结果会和(1)中一样,因为此时还没有完全加载索引。
7.开启8888端口(bin/nutch server 8888 /disk2/demo)
此时搜索结果已经恢复至9999与8888端口对应索引条目之和。注意:在启动8888端口之后,马上进行搜索,不会导致(1)中结果,因为此时有9999端口索引维系系统运行。但是在完成对8888端口索引加载之前,会有大概10秒钟时间搜索出现空白页面.加载完成之后,搜索结果显示正常.

结论
1),nutch-1.0进行分布式检索必须先启动search-servers.txt中所含的端口,然后才能启动tomcat提供搜索服务。
2),当服务已经正常启动之后,可以对相应端口进行关闭,此时只会导致搜索结果条目减少,并不会导致搜索无法工作。
3),当服务启动之后,关闭相应端口,(其间可以对 索引进行一系列可以进行的操作),再启动相应端口,之后,索引会逐步增加。需要注意的是,从端口启动到完全加载索引需要一段时间,这期间搜索结果
会出现空白页面,但是持续时间不长,之后的结果会恢复正常。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值