---恢复内容开始---
首先声明:在能使用官方文档的情况下完成配置,就不要看网上的博客
另外此篇文章是基于伪分布式hadoop1.0.4 nutch1.6
PS:没有多的机器伤不起啊
hadoop的环境配置见Ubuntu12.04下安装hadoop1.0.4
nutch1.6:
首先说个问题就是nutch1.6源文件中没有runtime这个文件夹,所以需要用到ant
1.安装ant
sudo apt-get install ant
2.下载nutch1.6.src 并ant编译
解压,这里假设解压的路径为NUTCH_HOME
进入NUTCH_HOME,输入ant
等待。。。。完成后即可看到NUTCH_HOME下有runtime了
3.拷贝hadoop中的文件
假设hadoop的路径为HADOOP_HOME
这里我们需要拷贝的文件有:HADOOP_HOME/conf 中的core-site.xml,hadoop-env.sh,hdfs-site.xml,mapred-site.xml,masters,slaves
至NUTCH_HOME/conf中
HADOOP_HOME/lib/native中的Linux-amd64-64,Linux-i386-32
至NUTCH_HOME/lib/native中
4.配置nutch (可选)
向NUTCH_HOME/conf/nutch-site.xml加入:
<property> <name>http.agent.name</name> <value>Sleeper_qp</value> </property>
将nutch/conf/regex-urlfilter.txt 中的:
# accept anything else
+.
修改成
+^http://([a-z0-9]*\.)*nutch.apache.org/
在这我们可以测试下,在NUTCH_HOME下输入
bin/nutch
若提示nutch指令help则说明安装成功
5.nutch在hadoop运行的准备
添加hadoop的环境变量
修改~/.bashrc:
export HADOOPHOME=/home/hadoop/hadoop
export PATH=$PATH:$HADOOPHOME/bin
说明:直接输入hadoop的命令可能会有警告,这是因为hadoop自身也配置了自己的路径(在HADOOP_HOME/bin/hadoop-config.sh)
新建urls并上传倒hdfs
mkdir urls
cd urls
touch seed.txt
编辑seed.txt加入
http://nutch.apache.org/
将刚才的文件夹urls上传到hdfs(hadoop记得先启动)
bin/hadoop fs -put /home/hadoop/urls hdfs://localhost:9000/user/local/urls
6.运行nutch
runtime/deply/bin/nutch crawl hdfs://localhost:9000/user/local/urls -dir crawl -depth 3 -threads 5 -topN 5
此时你可在localhost:50030中查看running job
---恢复内容结束---