繁体   English   中英

Nutch + HBase:HBase版本问题和Java异常

[英]Nutch + HBase: hbase versions issue and java exception

我正在尝试在Debian Squeeze上使用HBase 0.94.14设置Nutch 2.2.1。 我已经仔细阅读了Nutch 1和2教程以及各种文档。 我可以构建HBase 0.94.14,并最终使其运行(我可以创建表等)。我可以构建Nutch而没有任何问题(它在Gora 0.3上进行了设置)

现在的问题是:1-尝试启动Nutch时,出现以下跟踪:

./nutch inject /root/nutch/apache-nutch-2.2.1/urls/
InjectorJob: starting at 2014-11-27 09:43:53
InjectorJob: Injecting urlDir: /root/nutch/apache-nutch-2.2.1/urls
InjectorJob: java.lang.ClassNotFoundException: org.apache.gora.memory.store.HBaseStore
    at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)

等等

使用strace -f,我发现找不到“ HBaseStore.class”:

stat("/root/nutch/apache-nutch-2.2.1/runtime/local/org/apache/gora/memory/store/HBaseStore.class",\
  <unfinished ...>
[pid  1827] <... futex resumed> )       = -1 EAGAIN (Resource temporarily unavailable)

我试图找出类路径是否存在问题,但最终发现:-HBaseStore.class既不存在于Nutch目录树中也不存在于Hbase 0.94.4目录树中-Nutch树中的HBase jar版本令人惊讶:hbase-0.90.4.jar

根据我发现的一些在线讨论,我用hbase树中的hbase-0.94.4替换了坚果树中的hbase-0.90.4.jar ...

但是:-它不能解决Java问题-每次我重建螺母时,都将hbase-0.90.4.jar返回,并且在螺母树中找不到它的任何来源:-/

请注意,/root/nutch/apache-nutch-2.2.1/conf/hbase-site.xml具有:

<property>
<name>hbase.rootdir</name>
<value>/root/nutch/hbase-master/conf/</value>
</property>

对应于Nutch 0.94.4 ...

还尝试重建和使用Gora 0.5,但这会使Nutch构建失败。

我根本不是Java方面的专家,而且我不明白为什么Nutch没有使用正确版本的HBase,为什么似乎缺少源代码和Java类,并且在这一点上我完全陷入了困境。 真是一团糟。

感谢您提供任何有助于节省这种情况的提示。

您确定gora.properties有此行:

gora.datastore.default=org.apache.gora.hbase.store.HBaseStore

特别注意名称空间:

org.apache.gora。 hbase .store.HBaseStore

并不是

org.apache.gora。 内存 .store.HBaseStore

我希望这可以解决问题:)


编辑有关版本:

关于返回的hbase-0.90.4,Gora-0.3依赖于HBase-0.90.4,它与HBase-0.94.14不兼容。

为了与HBase-0.94.14一起运行,您必须使用Nutch-2.3-SNAPSHOT(称为“ 2.x”)。 您可以在Nutch2Tutorial找到链接,也可以svn结帐http://svn.apache.org/repos/asf/nutch/branches/2.x/

Nutch 2.3-SNAPSHOT取决于Gora-0.5,后者取决于HBase 0.94.14


似乎已经解决:

http://mail-archives.apache.org/mod_mbox/nutch-dev/201412.mbox/%3C548F4F1B.7020206@googlemail.com%3E

https://issues.apache.org/jira/browse/NUTCH-1899

阿方索

我检查了gora.properties,一切正常。

另外,我尝试了最新的2.3快照,但不幸的是,在构建时它遇到了一些依赖问题:

[ivy:resolve]       ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:resolve]       ::          UNRESOLVED DEPENDENCIES         ::
[ivy:resolve]       ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:resolve]       ::   org.restlet.jse#org.restlet.lib.org.restlet.lib.org.json;2.0:     java.text.ParseException: inconsistent module descriptor file found in 'http://maven.restlet.org/org/restlet/jse/org.restlet.lib.org.restlet.lib.org.json/2.0/org.restlet.lib.org.restlet.lib.org.json-2.0.pom': bad module name: expected='org.restlet.lib.org.restlet.lib.org.json' found='org.restlet.lib.org.json'; 
[ivy:resolve]       ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:resolve] :::: ERRORS
[ivy:resolve]       restlet: bad module name found in http://maven.restlet.org/org/restlet/jse/  org.restlet.lib.org.restlet.lib.org.json/2.0/org.restlet.lib.org.restlet.lib.org.json-2.0.pom: expected='org.restlet.lib.org.restlet.lib.org.json found='org.restlet.lib.org.json'
[ivy:resolve] 
[ivy:resolve] :: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS

BUILD FAILED
/root/nutch/2.3/build.xml:467: impossible to resolve dependencies:
        resolve failed - see output for details

尝试更新版本号:

  • 进入ivy / ivy.xml;
  • 将org =“ org.restlet.jse”的rev =“ 2.2.1”更改为rev =“ 2.2.3”(发生3次)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM