`
zb_86
  • 浏览: 43183 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

nutch+hadoop 配置使用 浅谈

阅读更多
配置nutch+hadoop
1,下载nutch。如果不需要特别开发hadoop,则不需要下载hadoop。因为nutch里面带了hadoop core包以及相关配置
2,建立目录(根据自己喜好)
/nutch
/search       (nutch installation goes here) nutch安装到这里,也就是解压到这里
/filesystem hadoop的文件系统存放点
/local /crawl后放置索引用来search用的
/home     (nutch user's home directory)  如果你用系统用户,这个基本没用
/tomcat 启动nutch.war用来search索引的app

3,conf/hadoop-env.sh   一定要配置JAVA_HOME,否则系统起不来
4,配置master和slave的ssh,否则每次都要输入passwd
ssh-keygen -t rsa
然后回车即可
cp id_rsa.pub authorized_keys
(copy到其它的slave上)scp /nutch/home/.ssh/authorized_keys nutch@devcluster02:/nutch/home/.ssh/authorized_keys
5,将bin和conf下所有的.sh、 nuch、 hadoop文件  dos2unix
dos2unix /nutch/search/bin/*.sh /nutch/search/bin/hadoop

配置hadoop-size.xml
6,记住要把master文件从nutch/hadoop  copy到这个nutch中,应该是bug。也就是说启动需要这个文件,文件内容为默认的localhost即可(如果是分布式,可能需要配置)
7,格式化namenode
bin/hadoop namenode -format
8,启动:bin/start-all.sh
9,配置crawl  (以配置一个网址 lucene.apache.org为例)
cd /nutch/search
mkdir urls
vi urls/urllist.txt        http://lucene.apache.org

cd /nutch/search
bin/hadoop dfs -put urls urls

cd /nutch/search
vi conf/crawl-urlfilter.txt
change the line that reads:   +^http://([a-z0-9]*\.)*MY.DOMAIN.NAME/
to read:                      +^http://([a-z0-9]*\.)*apache.org/
10,启动crawl
bin/nutch crawl urls -dir crawled -depth 3
11,查询
bin/hadoop dfs -copyToLocal crawled /media/do/nutch/local/(crawled)   将index的东西copy到以上配置的local中,因为search不能用dfs中搜索(从文档看是这样)
12,启动nutch.war,测试
vi nutch-site.xml    nutch.war中classes下
start tomcat

注意点:
1,masters文件 nutch原来没有,需要copy到conf下
2,crawl的log4j配置默认有问题,需要增加:
hadoop.log.dir=.
hadoop.log.file=hadoop.log
3,nutch1.0 一定要配置nutch-site.xml。重新配置http.agent。default.xml里面已经存在。


问题:
1,运行hadoop程序时, 中途我把它终止了,然后再向hdfs加文件或删除文件时,出现Name node is in safe mode错误:
rmr: org.apache.hadoop.dfs.SafeModeException: Cannot delete /user/hadoop/input. Name node is in safe mode
解决的命令:
bin/hadoop dfsadmin -safemode leave #关闭safe mode



索引命令:   
bin/nutch index plainindex/paodingindexes plainindex/crawldb plainindex/linkdb plainindex/segments/20090528132511 plainindex/segments/20090528132525 plainindex/segments/20090528132602

eg:
index:
bin/nutch index crawled/indexes_new crawled/crawldb crawled/linkdb crawled/segments/20100313132517

merge:
bin/nutch merge crawled/index_new crawled/indexes_new

去重 dedup:
bin/nutch dedup crawled/index_new


中文分词:
1.对建立索引所用分词工具的修改

将下载的中文分词包放到lib目录下,改名为analysis-zh.jar(当然,你也可以不用改)。找到下面文件

src\java\org\apache\nutch\analysis\NutchDocumentAnalyzer.java

修改tokenStream方法如下

public TokenStream tokenStream(String fieldName, Reader reader) {
Analyzer analyzer;
analyzer= new MMAnalyzer();
return analyzer.tokenStream(fieldName, reader);
}

注意:由于加入信息的分析类,你需要将该类导入。使用如下语句。

import jeasy.analysis.*;

2.对查询所用分析部分的修改

src\java\org\apache\nutch\analysis\中的NutchAnalysis.jj文件

将 <SIGRAM: <CJK> >

改为:| <SIGRAM: (<CJK>)+ >

使用javacc工具将NutchAnalysis.jj生成java文件,共会生成7个java文件,将他们拷贝到下面的文件夹中替 换原有文件。

src\java\org\apache\nutch\analysis

如何安装与使用javacc?

下载javacc并解压,然后将javacc的主目录添加到环境变量下。进入命令行,输入javacc,如果不出现不能识别该命令之类的说法,证明安装成功。

进入NutchAnalysis.jj文件所在的目录,输入javacc NutchAnalysis.jj命令就会生成7个java文件了。

3.重新编译工程文件

这里你需要用到ant工具了,那么ant工具怎么安装呢?

ant的安装与配置与 javacc类似,下载后解压,然后在path环境变量中加如指向ant下的bin文件夹的路径。

使用:从命令行进入nutch目录中,输入ant命令,它会自动根据当前目录下的build.xml进行重建。重建完毕后会在改目录下产生一个build文件夹。

4.重建后的文件替换

一、将nutch-0.x.x.job文件拷贝出来替换nutch目录下的同名文件。

二、将\build\classes\org\apache\nutch\analysis目录下的所有文件拷贝替换nutch-0.x.x.jar中org\apache\nutch\analysis目录下的文件。

三、将nutch-0.x.x.jar文件和你的分词包(我的是analysis-zh.jar)拷贝到tomcat中WEB-INF\lib下面。

5.重新爬行与建立索引,重新启动tomcat即可。




nutch搜索url过滤规则:
对于每一次(由depth决定)对url进行filter,所以要搜子页面,首页一定要通过filter,否则搜索不到。
详见:http://hi.baidu.com/ldl_java/blog/item/84d1427894231ee62f73b30a.html
分享到:
评论

相关推荐

    Nutch+solr + hadoop相关框架搭建教程

    总的来说,Nutch+Solr+Hadoop 的框架搭建涉及多个组件的安装、配置和协同工作。理解这些组件的功能和相互之间的关系,以及如何通过脚本和配置文件控制它们,是成功搭建和使用该框架的关键。这个教程提供了详细步骤,...

    nutch2.3+hbase0.94.14+hadoop1.2.1安装文档.

    nutch2.3+hbase0.94.14+hadoop1.2.1安装文档.txt )

    nutch+lucene开发自己的搜索引擎ch3.pdf

    - **标题与描述**: 本资料“nutch+lucene开发自己的搜索引擎ch3.pdf”聚焦于介绍如何使用Nutch和Lucene来构建自己的搜索引擎,特别强调了第三章:开源搜索引擎入门。 - **标签与内容**: 标签为“Nutch”,表明主要...

    基于Nutch和Hadoop的分布式搜索引擎探究.pdf

    分布式搜索引擎的实现和优化是当前信息技术研究的热点,而Nutch和Hadoop是实现分布式搜索引擎的关键技术。本文将对基于Nutch和Hadoop的分布式搜索引擎进行深入探究。 首先,分布式系统是现代搜索引擎的重要组成部分...

    eclipse配置nutch,eclipse配置nutch

    由于Nutch使用了一些外部库,如MP3和RTF格式的解析库,你需要手动将这些库添加到项目的Classpath中。可以通过以下步骤实现: 1. 访问Nutch的源码库,找到相应的库文件: - MP3解析库:`...

    人工智能-项目实践-搜索引擎-基于Nutch+ElasticSearch+MySQL+SSM的简易搜索引擎

    标题中的“人工智能-项目实践-搜索引擎-基于Nutch+ElasticSearch+MySQL+SSM的简易搜索引擎”揭示了一个项目,旨在构建一个简易的搜索引擎,利用了人工智能的一些原理和技术。这个项目结合了多个开源工具,包括Nutch...

    Nutch_的配置文件

    在实际使用中,开发者和管理员需要根据项目的具体需求来调整这些配置文件,比如调整爬虫的速度以避免对目标网站造成过大压力,或者定制分词规则以提高索引的准确性。同时,对于Nutch插件,开发者也需要编写相应的...

    Hadoop-2.4.0+Hbase-0.94.18+Nutch-2.3集群爬虫配置攻略

    还需在`conf/hadoop-site.xml`中包含Hadoop的配置信息,以便Nutch能与Hadoop集群通信。如果要使用Hbase存储抓取的数据,还需要在Nutch的配置文件中添加Hbase的相关设置。 启动Nutch爬虫,可以使用`bin/nutch inject...

    基于lucene和nutch的开源搜索引擎资料集合

    Linux下Nutch分布式配置和使用.pdf Lucene+Nutch源码.rar Lucene学习笔记.doc nutch_tutorial.pdf nutch二次开发总结.txt nutch入门.pdf nutch入门学习.pdf Nutch全文搜索学习笔记.doc Yahoo的Hadoop教程.doc [硕士...

    Seeker---A-Search-Engine:使用 Nutch 和 Hadoop 实现搜索引擎

    使用 Apache Nutch 抓取 40 个(体育和教育)域的网页。 倒排索引是使用 Apache Hadoop 从爬取的数据中构建的。 爬取的数据和倒排索引保存在nosql MongoDB数据库中,响应速度更快,扩展性更强。 Web 应用程序使用...

    搜索引擎nutch配置

    **Nutch搜索引擎配置详解** Nutch是一款开源的网络爬虫软件,主要用于收集、索引和搜索互联网上的数据。它在大数据领域中占有重要地位,尤其对于构建自定义搜索引擎的项目非常实用。Nutch的设计理念是模块化,允许...

    基于Nutch+ElasticSearch+MySQL+SSM的简易搜索引擎+源代码+文档说明

    该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目...

    nutch爬虫+java+eclipse

    Nutch使用Hadoop进行分布式处理,能够处理海量数据,适合大型网站的爬取需求。 1.1 URL管理和调度:Nutch使用URL数据库存储待抓取的网页,并通过一个策略算法(如FIFO或Priority Queue)决定下一个要抓取的URL。 ...

    nutch

    《Nutch 入门教程.pdf》这本书籍或文档应该包含了 Nutch 的基础知识、安装配置、使用示例以及常见问题解答等内容。通过阅读此教程,你可以了解如何搭建 Nutch 爬虫环境,编写自定义插件,以及进行定制化抓取和索引。...

    毕设&课设&项目&实训-基于Nutch+ElasticSearch+MySQL+SSM的简易搜索引擎.zip

    所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通...

    Nutch 配置

    Nutch 配置涉及的是一个开源的网络爬虫项目,它与Hadoop相结合,用于大规模的网页抓取和索引。Nutch 1.6是该项目的一个版本,这个版本的配置过程主要涵盖以下几个步骤: 1. **下载Nutch源代码**:首先,你需要从...

    Linux下Nutch分布式配置和使用

    Linux下Nutch分布式配置 使用:分布式爬虫、索引、Nutch搜索本地数据、Nutch搜索HDFS数据。

    hadoop+HBase教程

    针对不同的应用场景,例如海量数据处理、实时增量搜索、图形计算和交互式计算等,理解如何优化Hadoop和HBase的配置和使用,以提高性能。 在实际搭建过程中,还需注意Hadoop和HBase的版本兼容性问题、节点的配置和...

Global site tag (gtag.js) - Google Analytics