【问题标题】:Nutch and save crawl data to Amazon S3Nutch 并将爬取数据保存到 Amazon S3
【发布时间】:2011-09-12 17:18:43
【问题描述】:

我正在尝试评估 Nutch/Solr/Hadoop 是否适合我的任务。

PS:之前我尝试将 Nutch (1.4) 和 Hadoop 集成,看看它是如何工作的。

这是我想要实现的总体目标, a) 从种子 URL 开始并抓取和解析/保存数据/链接 --Nutch 爬虫会做什么。

b) 然后能够从 Java 客户端查询爬取的索引 ---(可能正在使用 SolrJ 客户端)

c) 由于 Nutch(从 1.4.x 开始)已经在内部使用 Hadoop。我将只安装 Hadoop 并在 nutch-**.xml 中进行配置

d) 我希望 Nutch 将爬取的索引保存到 Amazon S3 以及 Hadoop 以使用 S3 作为文件系统。 这甚至可能吗?甚至值得吗?

e) 我在其中一个论坛上读到,在 Nutch 2.0 中,有一个使用 GORA 的数据层可以将索引保存到 HBase 等。当 2.0 版本到期时我不这样做。 :-( 有没有人建议抓住 2.0 “inprogress” 主干并开始使用它,希望迟早能得到一个发布的库?

PS:我仍在试图弄清楚 Nutch 如何/何时/为什么/在何处在内部使用 Hadoop。我只是找不到任何书面文档或教程。非常感谢这方面的任何帮助。

如果您正在阅读这一行,那么非常感谢您到目前为止阅读这篇文章:-)

【问题讨论】:

    标签: solr amazon-s3 hadoop nutch


    【解决方案1】:

    Hadoop 可以原生使用 S3 作为其底层文件系统。在 EC2 中运行 Hadoop 时,无论是使用 EMR 还是您自己/第三方的 Hadoop AMI,我都使用这种方法获得了非常好的结果。在 EC2 之外使用 Hadoop 时,我不建议使用 S3 作为底层文件系统,因为带宽限制可能会抵消 Hadoop 为您带来的任何性能提升。 Hadoop 的 S3 适配器由 Amazon 开发,是 Hadoop 核心的一部分。 Hadoop 将 S3 视为 HDFS。有关将 Hadoop 与 S3 结合使用的更多信息,请参阅 http://wiki.apache.org/hadoop/AmazonS3

    Nutch 设计为在 Hadoop 集群上作为作业运行(在“部署”模式下),因此在其分发中不包含 Hadoop jar。但是,因为它作为 Hadoop 作业运行,所以它可以访问 Hadoop 支持的任何底层数据存储,例如 HDFS 或 S3。在“本地”模式下运行时,您将提供自己的本地 Hadoop 安装。在“部署”模式下完成爬取后,数据将存储在分布式文件系统中。出于性能原因,建议您等待索引完成,然后将索引下载到本地计算机进行搜索,而不是在 DFS 中搜索。有关在 Hadoop 中使用 Nutch 的更多信息,请参阅http://wiki.apache.org/nutch/NutchHadoopTutorial

    关于 HBase,我有很好的使用经验,尽管不是针对您的特定用例。我可以想象,对于随机搜索,Solr 可能比 HBase 更快,功能更丰富,但这值得商榷。 HBase 可能值得一试。在 2.0 发布之前,您可能想要编写自己的 Nutch-to-HBase 连接器,或者暂时坚持使用 Solr。

    【讨论】:

      猜你喜欢
      • 2013-03-02
      • 1970-01-01
      • 2015-12-05
      • 1970-01-01
      • 2015-09-08
      • 2016-08-24
      • 2017-10-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多