簡體   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