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)
クラスパスに問題があるかどうかを調べようとしましたが、最終的に次のことがわかりました: : hbase-0.90.4.jar
私が見つけたいくつかのオンライン ディスカッションによると、nutch ツリーの hbase-0.90.4.jar を hbase ツリーの hbase-0.94.4 に置き換えます...
しかし: - 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 クラスが欠落しているように見える理由がわかりません。この時点で完全に立ち往生しています。なんて混乱。
この状況を救うのに役立つヒントをありがとう。