2016-07-30 6 views
1

次のStorm設定(Ubuntu 16.4 64ビット版)を実行しています。Apache Storm Hbaseのバージョン互換性、java.lang.NoSuchFieldError:HBASE_CLIENT_LIMIT

  • ストーム:0.10.1
  • のHadoop:2.5.2(ローカル疑似クラスタ)
  • のHBase:1.1.5(ローカル疑似クラスタ)JARの
  • コンパイラ:
  • Mavenの使用デフォルトのhbaseストームは、インポート関数を介してクラスをサポートします:org.apache.storm.hbase.bolt.HbaseBoltおよびmapper.SimpleHBaseMapper。

私はHbase DBに向かって "Hbase"ボルトで書き込もうとしています。 http://lucene.472066.n3.nabble.com/CIS-CMMI-3-HBASE-CLIENT-PREFETCH-LIMIT-td4254588.html互換性の問題で成果:

016-07-30 21:06:14.874 b.s.util [ERROR] Async loop died! 
java.lang.NoSuchFieldError: HBASE_CLIENT_PREFETCH_LIMIT 
    at org.apache.hadoop.hbase.client.HConnectionKey.<clinit>(HConnectionKey.java:42) ~[stormjar.jar:?] 
    at org.apache.hadoop.hbase.client.HConnectionManager.getConnection(HConnectionManager.java:271) ~[stormjar.j 
ar:?] 
    at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:197) ~[stormjar.jar:?] 
    at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:159) ~[stormjar.jar:?] 
    at org.apache.storm.hbase.common.HBaseClient$1.run(HBaseClient.java:45) ~[storm-hbase-0.10.1.jar:0.10.1] 
    at org.apache.storm.hbase.common.HBaseClient$1.run(HBaseClient.java:42) ~[storm-hbase-0.10.1.jar:0.10.1] 
    at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_91] 

これは、同様の問題のようになります。プロセスの間に、私は次のエラーを取得します。

私が作っ参考文献を参照することができて、嵐、HBaseのJARに

: のHBase 0.98.4-hadoop2とHDFSバージョン2.2.0が、私はサポートHBaseのソースhttps://github.com/apache/storm/tree/master/external/storm-hbase HBaseのバージョン1.1のポンポンファイルで見ましたで。 0がサポートされています。

私のセットアップは、Hbaseバージョンをhbase-0.98.20-hadoop2バージョンまで0.98.4-hadoop以上に切り替えるか、1.1.0を使用する場合にのみ機能しますか? 1.1.5から1.1.0に戻るのは奇妙だと私はすでに両方をダウングレードしました。または、apache.hadoop.hbaseクラスを使用する必要がありますか?私はこれらのクラスを利用してたくさんのコードを保存しています。

とにかくお知らせください。私は過去5日間何のプロセスもなしにトラブルシューティングを行っています。

敬具、 マーク

+0

誰かに助言がありますか? –

答えて

0

この問題は、サーバー側のjarファイルのバージョンとは異なり、あなたのポンポンでのHBase、クライアントのバージョンによって引き起こされます。ベンダー固有のバージョン(1.2.0-cdh5.7.0など)を使用している場合は、一貫性が必要です。

関連する問題