2

当我尝试运行 nutch 时,出现以下错误。我已经安装并运行了 hbase-0.94.0,hadoop 运行也没有问题。在 ${NUTCH_HOME}/runtime/local/lib hbase-0.94.0.jar 中存在。我收到以下错误,这似乎是依赖项的问题,但我很困惑。谢谢

./nutch inject /tmp/seed.txt
InjectorJob: starting
InjectorJob: urlDir: /tmp/seed.txt
2012-09-11 22:02:14.097 java[7636:1903] Unable to load realm info from SCDynamicStore
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.hbase.HColumnDescriptor.setMaxVersions(I)V
    at org.apache.gora.hbase.store.HBaseMapping$HBaseMappingBuilder.addFamilyProps(HBaseMapping.java:114)
    at org.apache.gora.hbase.store.HBaseStore.readMapping(HBaseStore.java:545)
    at org.apache.gora.hbase.store.HBaseStore.initialize(HBaseStore.java:113)
    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:69)
    at org.apache.nutch.crawl.InjectorJob.run(InjectorJob.java:243)
    at org.apache.nutch.crawl.InjectorJob.inject(InjectorJob.java:268)
    at org.apache.nutch.crawl.InjectorJob.run(InjectorJob.java:288)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
    at org.apache.nutch.crawl.InjectorJob.main(InjectorJob.java:298)
4

3 回答 3

1

它适用于 hbase-0.90.5 我猜在使用 nutch 2 和 hbase-0.94 时存在问题或需要添加的其他配置。*

于 2012-09-12T11:34:59.277 回答
1

这是当今常见的兼容性问题。我们只需要等待 Apache Gora 采用 Apache HBase 0.98.x 或更高版本。同时存在如下所述的解决方法。

Apache Nutch 2.2.1 使用 Apache Gora 0.3,它只支持旧的 Apache HBase 0.90.x。目前要使用 Nutch 2.2.x,您必须:

  1. 从官方 Git 分支 2.x克隆、配置和构建新的 Nutch 。

  2. 克隆并构建我的 Apache HBase 0.94.24-hadoop-2.5.0 版本

您还可以阅读Apache HBase 的兼容性文档,了解如何为任何 Hadoop 版本构建您自己的版本。

要完全了解,请查看Apache Gora 0.3 的类似问题

我测试的工作堆栈是:

  • 来自使用 Gora 0.4 的 2.x git 分支的 Apache Nutch;
  • Apache Hbase 0.94.24-hadoop-2.5.0;
  • Apache Hadoop 2.5.0。
于 2014-09-14T07:00:27.857 回答
0

当我在命令中使用 0.94.1 运行 nutch2.0 时,它是 nosuchmethod,而在 eclipse 中它是 java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/HBaseConfiguration。虽然我复制 jar 或配置类路径。这是行不通的。现在我将更改为 90.5,我希望它能正常工作。

于 2012-09-19T03:12:31.787 回答