nutch+hadoop 配置使用
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+hadoop 配置使用的更多相关文章
- 【Nutch2.3基础教程】集成Nutch/Hadoop/Hbase/Solr构建搜索引擎:安装及运行【集群环境】
1.下载相关软件,并解压 版本号如下: (1)apache-nutch-2.3 (2) hadoop-1.2.1 (3)hbase-0.92.1 (4)solr-4.9.0 并解压至/opt/jedi ...
- Nutch+Hadoop集群搭建
转载自:http://www.open-open.com/lib/view/open1328670771405.html 1.Apache Nutch Apache Nutch是一个用于网络搜索 ...
- 一个大数据方案:基于Nutch+Hadoop+Hbase+ElasticSearch的网络爬虫及搜索引擎
网络爬虫架构在Nutch+Hadoop之上,是一个典型的分布式离线批量处理架构,有非常优异的吞吐量和抓取性能并提供了大量的配置定制选项.由于网络爬虫只负责网络资源的抓取,所以,需要一个分布式搜索引擎, ...
- 【架构】基于Nutch+Hadoop+Hbase+ElasticSearch的网络爬虫及搜索引擎
网络爬虫架构在Nutch+Hadoop之上,是一个典型的分布式离线批量处理架构,有非常优异的吞吐量和抓取性能并提供了大量的配置定制选项.由于网络爬虫只负责网络资源的抓取,所以,需要一个分布式搜索引擎, ...
- Nutch+Hadoop集群搭建 分类: H3_NUTCH 2015-01-18 10:55 362人阅读 评论(0) 收藏
转载自:http://www.open-open.com/lib/view/open1328670771405.html 1.Apache Nutch Apache Nutch是一个用于网络搜索 ...
- 基于Nutch+Hadoop+Hbase+ElasticSearch的网络爬虫及搜索引擎
基于Nutch+Hadoop+Hbase+ElasticSearch的网络爬虫及搜索引擎 网络爬虫架构在Nutch+Hadoop之上,是一个典型的分布式离线批量处理架构,有非常优异的吞吐量和抓取性能并 ...
- hadoop配置优化
yarn-site.xml <property> <name>yarn.nodemanager.resource.memory-mb</name> <valu ...
- hadoop配置错误
经过上一周的郁闷期(拖延症引发的郁闷),今天终于开始步入正轨了.今天主要是解决hadoop配置的错误以及网络时断时续的问题. 首先说明一下之前按照这篇文章的方法配置完全没有问题,但是等我配置好了发现h ...
- Hadoop 配置好hive,第一次在conf能进入,第二次就不行了,怎么办?
问题描述: 在 Hadoop 配置好 hive 数据仓库,在conf目录下通过hive命令进入hive数据仓库,非常顺利. 但关闭终端,第二次按这种方式却显示,无次命令. 怎么办? 解决办法: 在h ...
随机推荐
- PL/SQL控制语句
本节要点: l 选择结构控制语句 if条件控制语句 Case语句 l 循环结构控制语句 基本loop循环 for循环 while循环 嵌套循环 PL/SQL既然是面向过程的编程语言,那么它就有针对 ...
- C# 知识点集合
1.一个Visual studio软件进程只能打开一个程序集,但是一个程序集可以加载多个项目,通过程序集的添加功能可以实现. 2.F11单步调试,F10跨程序调试(一般用不到) 3.VS如何快速的切换 ...
- xcodeproj cannot be opened because the project file cannot be parsed.
解决方法: 1.对.xcodeproj文件右键,显示包内容 2.双击打开 project.pbxproj 文件 3.找到以上类似的冲突信息(能够用commad + f搜索) 4.删除<&l ...
- [ACM] FZU 1686 神龙的难题 (DLX 反复覆盖)
Problem 1686 神龙的难题 Accept: 444 Submit: 1365 Time Limit: 1000 mSec Memory Limit : 32768 KB Pro ...
- 朴素贝叶斯python实现
概率论是非常多机器学习算法基础,朴素贝叶斯分类器之所以称为朴素,是由于整个形式化过程中仅仅做最原始.简单的如果. (这个如果:问题中有非常多特征,我们简单如果一个个特征是独立的.该如果称做条件独立性, ...
- 【Java集合源代码剖析】LinkedList源代码剖析
转载请注明出处:http://blog.csdn.net/ns_code/article/details/35787253 您好.我正在參加CSDN博文大赛.假设您喜欢我的文章,希望您能帮我投一票,谢 ...
- poj3685(嵌套二分)
Matrix Time Limit: 6000MS Memory Limit: 65536K Total Submissions: 4658 Accepted: 1189 Descriptio ...
- iodine免费上网——本质就是利用dns tunnel建立tcp,然后tcp proxy来实现通过访问虚拟dns0网卡来访问你的dns 授权server
我的命令: server端: sudo iodined -P passwd -f -DD 10.0.0.100 abc.com client端(直连模式,-r表示使用xxx.abc.com的xxx来转 ...
- HIT Software Construction Lab 3
2019年春季学期 计算机学院<软件构造>课程 Lab 3实验报告 姓名 刘帅 学号 班号 1703008 电子邮件 1609192321@qq.com 手机号码 目录 1 实验目标概 ...
- Redis学习笔记(十一) 命令进阶:Connection(连接)
原文链接:http://doc.redisfans.com/connection/index.html auth password 有时候处于安全性考虑,我们可以使用密码来保护redis服务器,每次连 ...