Nutch1.8分布式抓取网页

用了大概一周左右的时间,研究了下nutch1.8,并在linux集群上部署了执行文件,总结下部署过程中遇到的一些问题。

环境准备:

1、配置hadoop,确保hadoop运行正常。

2、将hadoop/conf目录中的配置文件拷贝到nutch/conf中,使nutch绑定hadoop。


 程序准备:

1、下载nutch1.8源码后,安装ant,进行编译;

2、将nutch1.8拷贝到其他集群机器中采用保证存放目录结构相同;

3 、运行集群脚本,视情况而定。


nutch源码编译后生成runtime目录,其下有deploy和local两个子目录。

deploy:用于分布式抓取

local:用于本地抓取

$NUTCH_HOME/conf 为抓取所用配置文件,用于单机抓取原始配置就够了,用于分布式抓取的话,需要拷贝HADOOP_HOME目录conf下的core-site.xml、hdfs-site,xml、mapred-site.xml文件,使nutch绑定hadoop。


$NUTCH_HOME/runtime/deply/bin/crawl 分布式抓取命令:

usage:crawl <seedDir> <crawlDir> <solrURL> <numberOfRounds>

$NUTCH_HOME/runtime/deply/bin/crawl  hdfs://topsecurl62:9000/user/local/urls  hdfs://topsecurl62:9000/user/local/crawl_0603  null  2


$NUTCH_HOME/runtime/local/bin/crawl 本地抓取命令

$NUTCH_HOME/runtime/local/bin/crawl urls crawls ull 2


另外,修改了$NUTCH_HOME/conf下的配置文件,需要重新编译之后才能生效。

特别注意上面这一条,我在使用时就fail了,重新用ant编译后才成功。


 总结:

(1)deploy中只需要bin和*.job文件就可以集群运行。所以配置都针对*.job中的各项文件、路径,以上配置经过多次测试确认,以供参考。

(2)分布式爬取各个步骤无法有效监控,单点爬取是测试验证程序的一个办法。

(3)单点爬取只是将deploy中的*.job文件进行了分别的维护,包括bin、conf、lib、log、plugins。只需将项目对应目录中的文件拷贝到单点环境即可。拷贝完后执行 bin/nutch ******* 。如果爬取失败,则可以根据log中的日志跟踪来进行处理。一般情况下先检查各目录中的文件是否同步完毕,特别是lib中的*.jar文件是不是全部引入等等。




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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值