Web crawler storm crawler-技术堆栈和Apache Nutch

Web crawler storm crawler-技术堆栈和Apache Nutch,web-crawler,apache-storm,nutch,stormcrawler,Web Crawler,Apache Storm,Nutch,Stormcrawler,我想抓取一个特定的论坛近实时和转储到HDFS的数据,如果不是Hbase 我听说ApacheNutch可以解决这个问题,但遗憾的是,它所需要的技术堆栈非常陈旧。我不想把hadoop从2.6降到更早的版本,把Elasticsearch降到1.7/1.4,所以我把注意力转移到了storm crawler上 由于我使用的是Hadoop 2.6、Elasticsearch 2.0和Hbase 1.1.3,有人能告诉我风暴爬虫0.9是否可以与它们一起使用吗?由于您有一个特殊的要求,需要以近乎实时的方式对论坛

我想抓取一个特定的论坛近实时和转储到HDFS的数据,如果不是Hbase

我听说ApacheNutch可以解决这个问题,但遗憾的是,它所需要的技术堆栈非常陈旧。我不想把hadoop从2.6降到更早的版本,把Elasticsearch降到1.7/1.4,所以我把注意力转移到了storm crawler上


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

由于您有一个特殊的要求,需要以近乎实时的方式对论坛进行爬网,Nutch并不是实现这一点的最佳技术。Nutch是批量工作的,这意味着链接会被生成、获取、解析,但一次不会有一个链接。另一方面,Storm crawler基于ApacheStorm,这是一个免费的开源分布式实时计算系统


Storm Crawler目前确实支持索引到Elasticsearch 1.7.2(正在支持版本2),目前不支持索引到HBase,您无法使用hadoop设置,因为它基于Apache Storm。然而,Storm Crawler是“用于构建低延迟、可伸缩的web爬虫的资源集合”,因此您可以将自己的索引器写入HBase,这应该不会太难,并重用提供的其他资源,包括您需要的实时爬虫。

@jorge luis已经回答了关于ElasticSearch 2的问题。有一个问题,我们正在测试它。至于Hadoop,StormCrawler不是基于它,而是基于ApacheStorm——因此得名。最后,目前没有用于HBase的资源,但可以添加。你想用它干什么?我假设这些文档将使用ES索引。你想在那里保留关于URL的信息吗(比如Nutch中的crawldb)?如果是这样,那么您也可以使用ES来存储状态,请查看以获取解释。

是的,我的意思是接近实时,因为延迟不应该太大。也可以批量生产。你知道什么时候可以提供对2.x版的支持吗?你能给我一些如何编写自定义索引器的例子吗?目前还没有关于2.x ES支持的ETA,但不应该太长。至于编写自定义索引器,最好/更简单的例子是将信息打印到标准输出中。您还可以检查外部文件夹中提供的其他索引器(aws、solr、sql),通常外部文件夹中的资源还有一些优点,但至少包括一个索引器螺栓。谢谢您的帮助。此外,它可以在分布式模式下使用而不是在独立系统上使用吗?很高兴它有所帮助,是的,可以在storm群集(即分布式模式)上运行。您只需使用首选打包系统打包项目,然后使用
storm jar
命令提交拓扑,类似于:
storm jar target/storm-crawler-core-0.8-SNAPSHOT.jar com.digitalpebble.storm.crawler.CrawlTopology-conf-conf.yaml
为什么不在这个问题中添加标签“stormcawler”?这里没有“stormcawler”的标签。我想它还没有1500个声誉。HBase/HDFS是必需的,因为我希望在体系结构中使用NoSQL存储/HDFS,以便在后期进行预测建模。如果还有别的办法,我会很高兴的。另外,你们能告诉我什么时候能完成“ES2集成”的测试吗?在四月底之前有可能吗?写一个螺栓给HBase并不难。或者,我正在开发一个bolt,它将内容作为WARC文件写入HDFS,这是web归档的标准,比带有模式的Hbase更开放。至于ES,请随意测试分支并进行改进,这是实现这一目标的最佳方法。只要在Twitter上关注这个项目,就可以随时了解重大改进。