理由を解決してください:
これは、hadoop と hbase での htrace-core のバージョンが異なることが原因である可能性があります。
解決策の手順:
今日、hbase インスタンスを実行中にエラーが報告されました。
インターネットで多くのチュートリアルを見つけましたが、問題は解決できませんでした。リンク: http://www.blogjava.net/anchor110/articles/424888.htmlのブログを読んでアイデアを思いつきました。
上記の解決策は、$HADOOP_HOME/share/hadoop/common/lib にある htrace-core-3.0.4.jar を $HBASE_HOME/lib にコピーすることです。最初は、hbase/bin ディレクトリに htrace-core-3.0.4.jar (私のものは 3.1.0) がないことが原因だと思いました。そこで、hbase/lib ディレクトリをチェックして、次の jar パッケージを見つけました。
hadoop/share/hadoop/common/lib ディレクトリを確認したところ、htrace-core jar パッケージも存在することがわかりましたが、バージョンが異なります。
インスタンスを実行して、バージョン 3.1.0 を hbase/lib ディレクトリにインポートします。
操作によりエラーが報告されるため、前のブログを読んだ後、hadoop と hbase での htrace-core のバージョンが異なるために競合が発生しているのではないかと思い、hadoop で htrace-core4-4.1.0 パッケージを再インポートしました。
インスタンスを再度実行します。エラーはありません
問題は無事解決しました!
要約:
hbase reports java.lang.NoClassDefFoundError: org/apache/htrace/core/Tracer 解決方法は人によって異なり、システム環境も異なる場合がありますので、いくつかの方法を試すことで問題を解決できるはずです。