风暴爬虫 - 技术堆栈和Apache Nutch

时间:2016-04-06 04:20:08

标签: web-crawler apache-storm nutch stormcrawler

我想近实时抓取某个特定论坛,如果不是Hbase,则将数据转储到HDFS中。

我听说Apache Nutch可以解决这个问题,但遗憾的是它需要的技术堆栈已经很老了。我不想将hadoop从2.6降级到早期版本,将Elasticsearch降级到1.7 / 1.4,因此我将注意力转移到了风暴爬行者身上。

由于我使用的是Hadoop 2.6,Elasticsearch 2.0和Hbase 1.1.3,任何人都可以告诉我风暴爬虫0.9是否可以与它们一起使用?

2 个答案:

答案 0 :(得分:2)

由于您特别要求以近乎实时的方式抓取论坛,Nutch并不是实现这一目标的最佳技术。 Nutch在批处理上工作,意味着生成链接,然后获取,然后解析,但这不会发生在当时的一个链接。另一方面,Storm crawler基于Apache Storm,它是一个免费的开源分布式实时计算系统。

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

答案 1 :(得分:0)

@ jorge-luis已经回复了ElasticSearch 2.有pull request for it我们正在测试它。至于Hadoop,StormCrawler并不是基于它,而是基于Apache Storm--因此得名。最后,HBase目前没有资源,但可以添加。你想用它做什么用的?我假设文档将使用ES编制索引。你想在那里保留关于URLS的信息(比如Nutch中的crawldb)吗?如果是,那么您也可以使用ES来存储状态,请查看ES module in StormCrawler以获得解释。