nutch
-1.0 的分布式
查询部署
nutch-1.0集成了hadoop的mapreduce
实现分布式爬虫方式,抓取的网页及索引等都存放在HDFS上,但hdfs
用于查询是不切实际的,所以建议copy到本地
之后做搜索
查询。但如果索引文件
很多,索引数据
量大,在一台机器上部署查询势必很慢,这时可以考虑分布式查询方式,将索引分散在多个机器中;
下面是分布式查询方式的部署方式:
首先定义两点:
1. search-servers.txt 所在的机器为主节点,设IP为172.16.100.1;
2. search-servers.txt 中定义的各个节点为subserver,作为查询服务
器提供者,这里定义两个:172.16.100.2及172.16.100.3;
主节点(172.160100.1)的安装
:
1. 安装tomcat,细节略去,安装目录为:/usr/local/tomcat。
2. 下载nutch-1.0.tar.gz,并解压缩,设解压缩到/data
/nutch;
3. 将/data/nutch/nutch-1.0.war解压到tomcat的webapps目录下,即/usr/local/tomcat/webapps/nutch;
4. 修改 /usr/local/tomcat/webapps/nutch/WEB-INF/classes/nutch-site.xml,补充1个属性定义:
<property>
<name>searcher.dir</name>
<value>/data/winter/search-dir</value>
<description> Path to root of crawl. 即 search-servers.txt 所在的父目录
</description>
</property>
subserver(172.16.100.2及172.16.100.3)的配置:
1. 设subserver配置地址为: /data/search-server
2. 将/data/nutch下的bin、conf、lib、plugin
s等拷贝到/data/search-server下;
3. chmod +x bin,使得bin下的脚本可执行;
4. 在conf/nutch-site.xml中添加两个属性:
<property>
<name>plugin.folders</name>
<value>/data/search-server/plugins</value>
<description>Directories where nutch plugins are located.
</description>
</property>
<property>
<name>searcher.dir</name>
<value>/data/indexes</value>
<description> Path to root of crawl.
</description>
</property>
searcher.dir指向本地的索引文件路径
,可以包含多个index,但每个index下都必须包含index.done文件。
配置完毕,然后把hdfs上的索引分散拷贝到subserver中(为简单起见,可以先拷贝到一个subserver)。
启动方法:
1. 在主机器上编辑search-servers.txt,指定所有的subserver的IP及端口号,如:
172.16.100.1 9999
172.16.100.2 9999
2. 在各个subserver上启动DistributedSearch.Server进程:nohup bin/nutch server 9999 > server.log 2>&1 &;
3. 启动172.16.100.1上的tomcat;
4. 测试以下地址:http://172.16.100.1:8080/nutch
,为搜索首页;
如果测试不成功,可以从以下两个日志中分析:
1. subserver上的 server.log ;
2. 主节点上的tomcat日志;
nutch-1.0的分布式查询只能作为研究学习用,应用在实际搜索阶段有以下几个问题:
1. 搜索的idf信息只是各个subserver相对的idf,未参考整体的idf,这个在nutch jira中有人提过,也有提交过一些patch,可以参考下;
2. DistributedSegmentBean 中getSummary(HitDetails[] detailsArr, Query query)方法会导致summary乱序,修改下源代码可以解决;
3. HitDetails 的write 及read方法,用UTF方法传输field 及value,如果长度超过65536,会出现 UTFDataFormatException异常,换Text吧;
分享到:
相关推荐
Nutch-1.0分布式安装手册.rar,完整的
Nutch 是一个开源Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。
Eclipse 中编译 Nutch-1.0 运行源代码
nutch-1.0-dev.jar nutch devlope
$ tar zxvf nutch-1.0.tar.gz 在e盘下面出现nutch-0.9文件夹说明解压成功了.然后环境变量设置为NUTCH_JAVA_HOME=C:\Program Files\Java\jdk1.5.0(也就是说跟JAVA_HOME是相同的).测试nutch是否安装成功,只需要执行...
Nutch 是一个开源的、Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。
Nutch 是一个开源的、Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。 nutch 1.0
Nutch 是一个开源Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。
Nutch 是一个开源的、Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。 nutch 1.0
Nutch 是一个开源的、Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。 nutch 1.0
Nutch 是一个开源的、Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。
Nutch 是一个开源的、Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。
Nutch 是一个开源的、Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。
Nutch 是一个开源的、Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。
Nutch 是一个开源的、Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。
ant-eclipse-1.0 nutch
apache-nutch-2.3.1-src.tar.gz
nutch配置nutch-default.xml
apache-nutch-1.3 的源码包,需要的可以看下
apache-nutch-2.2.1(Eclipse直接运行版)今天刚做的,发现有很多坑,分享给大家实验,JDK1.7 Win10。我分享的两个压缩卷一起下载才可以用,资源限制太小了 002地址:...