在hadoop集群上使用HBase设置Nutch 2.2.1

时间:2014-01-15 10:55:01

标签: apache hadoop web-crawler hbase nutch

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

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

2 个答案:

答案 0 :(得分: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>

当你在脚本中给出参数-crawlId简单的'babu' - &gt;时,这个配置会将数据抓取到hbase中的babu_webpage表中。 $ CRAWL_ID。

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

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

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

转到./bin/hbase shell

list
scan 'babu_webpage'

答案 1 :(得分:1)

我遵循了这个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。前n号我坐到50,因为数字越多,它有时会卡住。但它只能在我的情况下。