如何使用hbase 1.2.6编译nutch 2.3.1

scyqe7ek  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(468)

我必须用nutch2.3.1设置hadoop堆栈。hadoop2.7.4支持的hbase版本是1.2.6,我已经成功配置并测试了它。但是当我编译nutch的时候,我得到了下面的内容,并抓取了一个示例页,我得到了这个错误。

/usr/local/nutch/runtime/local/bin/nutch inject urls/ -crawlId kics
InjectorJob: starting at 2017-09-21 14:20:10
InjectorJob: Injecting urlDir: urls
Exception in thread "main" java.lang.NoSuchFieldError: HBASE_CLIENT_PREFETCH_LIMIT
    at org.apache.hadoop.hbase.client.HConnectionKey.<clinit>(HConnectionKey.java:43)
    at org.apache.hadoop.hbase.client.HConnectionManager.getConnection(HConnectionManager.java:267)
    at org.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:194)
    at org.apache.gora.hbase.store.HBaseStore.initialize(HBaseStore.java:115)
    at org.apache.gora.store.DataStoreFactory.initializeDataStore(DataStoreFactory.java:102)
    at org.apache.gora.store.DataStoreFactory.createDataStore(DataStoreFactory.java:161)
    at org.apache.gora.store.DataStoreFactory.createDataStore(DataStoreFactory.java:135)
    at org.apache.nutch.storage.StorageUtils.createWebStore(StorageUtils.java:78)
    at org.apache.nutch.crawl.InjectorJob.run(InjectorJob.java:218)
    at org.apache.nutch.crawl.InjectorJob.inject(InjectorJob.java:252)
    at org.apache.nutch.crawl.InjectorJob.run(InjectorJob.java:275)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
    at org.apache.nutch.crawl.InjectorJob.main(InjectorJob.java:284)
Error running:

根据我的搜索,比如this和this,可以为nutch2.3.1编译hbase 1.x。但是如何编译我不知道。有人能给我指路吗

ef1yzkbh

ef1yzkbh1#

apache gora 0.7支持hbase 1.2.3(+):https://issues.apache.org/jira/browse/gora-443
你可以看看https://stackoverflow.com/a/39837926/582789 在那里我写了如何修改nutch2.3.1以使用apachegora0.7。关于补丁https://paste.apache.org/jjqz 在这个答案中,在显示“0.7-snapshot”的地方使用“0.7”。
顺便说一下,ApacheGora0.8昨天发布了:)将0.7改为0.8应该可以。
http://gora.apache.org/#20-2017年9月-apache-gora-08-发布

相关问题