我正在尝试使用HBase 0.94.14在Debian Squeeze上设置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)
我试图找出classpath是否存在问题,但最终发现: - HBaseStore.class既不存在于Nutch目录树中,也不存在于Hbase 0.94.4目录树中 - Nutch树中的HBase jar版本非常出色:hbase-0.90.4.jar
根据我发现的一些在线讨论,我用hbase树中的hbase-0.94.4替换了nutch-0.90.4.jar ...
但: - 它不能修复java问题 - 每次我重建nutch时,hbase-0.90.4.jar都回来了,我在nutch树中找不到任何来源: - /
请注意/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类,而且此时我完全是卡住。真是一团糟。
感谢任何有助于挽救这种情况的提示。
答案 0 :(得分:0)
您确定在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 checkout 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
答案 1 :(得分:0)
阿方索,
我查了一下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
答案 2 :(得分:0)
尝试更新版本号: