风暴爬行器-技术堆栈和Apache Nutch



如果不是Hbase,我想接近实时地抓取一个特定的论坛,并将数据转储到HDFS中。

我听说Apache Nutch可以解决这个问题,但遗憾的是,它所需要的技术堆栈相当陈旧。我不想把hadoop从2.6降级到早期版本,把Elasticsearch降级到1.7/1.4,所以我把重点转移到了风暴爬行器上。

由于我使用的是Hadoop2.6、Elasticsearch 2.0和Hbase 1.1.3,有人能告诉我风暴爬行器0.9是否可以与它们一起使用吗?

由于您有以近乎实时的方式抓取论坛的特殊要求,Nutch并不是实现这一点的最佳技术。Nutch处理批量,这意味着链接是生成的,然后提取,然后解析,但这不会一次只发生一个链接。另一方面,Storm爬网程序基于Apache Storm,这是一个免费开源的分布式实时计算系统。

Storm Crawler目前确实支持对Elasticsearch 1.7.2进行索引(正在支持版本2https://github.com/DigitalPebble/storm-crawler/tree/es2/external/elasticsearch),目前还不支持索引到HBase中,并且您不能使用hadoop设置,因为它是基于Apache Storm的。尽管如此,Storm Crawler是"用于构建低延迟、可扩展的web爬网程序的资源集合",因此您可以将自己的索引器螺栓写入HBase,这应该不会太难,并重用所提供的其余资源,包括您需要的实时爬网。

@jorge luis已经回复了关于ElasticSearch 2的问题。有一个pull请求,我们正在测试它。至于Hadoop,StormCrawler不是基于它,而是基于Apache Storm——因此得名。最后,目前没有HBase的资源,但可以添加。你想用它做什么?我想这些文档会用ES索引。你想把URLS的信息放在那里吗(比如Nutch中的crawldb)?如果是这样,那么您也可以使用ES来存储状态,请查看StormCrawler中的ES模块进行解释。

最新更新