1

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

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

由于我使用的是 Hadoop 2.6、Elasticsearch 2.0 和 Hbase 1.1.3,谁能告诉我storm-crawler 0.9 是否可以与它们一起使用?

4

2 回答 2

3

由于您对以近乎实时的方式抓取论坛有特殊要求,因此 Nutch 并不是实现此目的的最佳技术。Nutch 批量工作,这意味着生成链接,然后获取,然后解析,但这不会发生在一个链接上。另一方面,Storm 爬虫基于 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 是“用于构建低延迟、可扩展的网络爬虫的资源集合”,因此您可以将自己的索引器螺栓写入 HBase,这应该不会太难,并重用其余提供的资源,包括实时爬虫你需要的。

于 2016-04-06T05:43:00.697 回答
0

@jorge-luis 已经回复了 ElasticSearch 2。有一个拉取请求,我们正在对其进行测试。至于 Hadoop,StormCrawler 不是基于它,而是基于 Apache Storm——因此得名。最后,目前没有 HBase 资源,但可以添加。你想用它做什么?我假设文档将使用 ES 进行索引。您是否想在其中保留有关 URL 的信息(例如 Nutch 中的 crawldb)?如果是这样,那么您也可以使用 ES 来存储状态,请查看StormCrawler 中的 ES 模块以获取说明。

于 2016-04-07T08:54:45.413 回答