【问题标题】:Nutch 2.2.1 setup with HBase on hadoop cluster在 hadoop 集群上使用 HBase 设置 Nutch 2.2.1
【发布时间】:2014-01-15 10:55:01
【问题描述】:

我已参考本教程 (http://wiki.apache.org/nutch/Nutch2Tutorial) 来设置 Nutch 2.2.1.with Hbase。我已经完成了教程中给出的设置,但是没有明确提到如何爬取数据并将其存储到 Hbase 表中。

能否请我参考一些相关的链接/书籍?

【问题讨论】:

    标签: apache hadoop web-crawler hbase nutch


    【解决方案1】:

    对我最有帮助的是:

    http://sujitpal.blogspot.cz/2011/01/exploring-nutch-20-hbase-storage.html

    映射到 hbase 在这里定义 NUTCH_HOME/conf/gora-hbase-mapping.xml。 因此,如果一切配置正确,抓取脚本应该会为您存储它。

    我有相同的配置,但有很多问题要让它工作,这里有一些提示:

    提示1:注意表名

    我还配置了这些属性:

    <property>
      <name>storage.schema.webpage</name>
      <value>webpage</value>
    </property>
    
    <property>
      <name>storage.crawl.id</name>
      <value>babu</value>
    </property>
    

    当您在 script write simple 'babu' -> $CRAWL_ID 中提供参数 -crawlId 时,此配置会将数据抓取到 hbase 中的 babu_webpage 表中。

    $bin/nutch fetch $commonOptions -D fetcher.timelimit.mins=$timeLimitFetch $batchId -crawlId $CRAWL_ID -threads 50
    

    提示 2:如果您的表名不好,Nutch 仍然会在控制台成功时写入。

    提示3:如何简单查看hbase中是否有爬取的东西:

    转到 ./bin/hbase 外壳

    list
    scan 'babu_webpage'
    

    【讨论】:

    • 嗨,我已经设置了 Hadoop 0.20.204 和 hbase 92.x 和 nutch-2.2.1,我已经看到 hadoop 和 hbase 工作正常,因为我已经在 hbase 中成功创建了一个表shell 并在其中插入值。
    • 但我面临的问题是,在设置 Nutch-2.2.1 时,我得到了 ClassNotFoundException: GoraOutputFormat。但在 $NUTCH_HOME/runtime/local/lib 中,我可以看到包含此​​类 GoraOutputFormat.class 的 gora-core*.jar。请帮助解决这个问题。我在网上搜索但找不到任何解决方案。
    • 是的,我知道 jar 很糟糕...经过几次实验后,我们使用这些版本设置了 hadoop-core-1.2.0.jar、hbase-0.90.6-cdh3u5.jar、gora-core -0.3.jar , gora-hbase-0.3.jar 在 NUTCH_HOME/lib 中,不要忘记在 HBASE_HOME/hbase-0.90.6-cdh3u5.jar 中具有相同的版本 ...这是我们设法一起工作的唯一版本.. .
    • 那么,我什至必须设置hadoop-1.2版本和hbase 0.90.6版本还是只复制这些jar?
    • 您能否提供您的联系方式,如果我以后在使用 Nutch 时遇到一些问题,我想与您联系?
    【解决方案2】:

    我关注了这个tutorial,然后我运行 Nutch 并毫无问题地为 Elasticsearch 建立索引。为您提供的相关信息是文章末尾的六个命令。

    bin/nutch inject <seed-url-dir>
    bin/nutch generate -topN <n>
    bin/nutch fetch -all
    bin/nutch parse -all
    bin/nutch updatedb
    bin/nutch elasticindex <clustername> -all
    

    我在 NUTCH_HOME 中创建了 urls 目录,我在其中放置了文件 seed.txt。在这个文件中是要抓取的 url 地址。接下来的五个命令我放入脚本文件并在不定式循环中运行它。如果您只遵循您的教程,您当然不必使用最后一个命令 bin/nutch elasticindex。 topN 数字我坐到了 50,因为数字越大,它有时会卡住。但它只能在我的情况下。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-01
      • 1970-01-01
      • 2014-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多