0

私は HBASE を初めて使用します。データを HDFS から HBASE にロードしようとしていますが、MR を実行するたびにロードできません。同じ結果が得られます。

エラー「スレッド「メイン」での例外 java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/HBaseConfiguration」

すべてのクラスファイルがありますが、何が問題なのか理解できません。最初にMRを実行するには、ソースコードをコンパイルし、クラスパスにhadoopおよびhbaseライブラリを含めてから、jarを作成して実行し、同じエラーを出しました。コマンドを試しました

「hbase HBaseTemperatureImporter 入力」の場合、「java.lang.NoClassDefFoundError: HBaseTemperatureImporter」としてエラーが発生します

これも機能していません。何が間違っているのか教えてもらえますか? hbase のインストールに問題がありますか、または Hbase の MR の実行中に手順を見逃していませんか? 前もって感謝します。

4

1 に答える 1

1

これは、クラスがクラスパスにないことを意味します。

まず、jar にこのクラスが含まれていることを確認します。次のようにして、すべての内容を一覧表示できます。

jar -tf <yourjar.jar>

クラスが存在する必要があります。存在しない場合は、ビルド プロセスを確認する必要があります。そこにある場合は、hadoop ジョブ構成に次の行を追加してみてください。

Job job = new Job(conf, "dump to hbase");
job.setJarByClass(YourClassName.class);
于 2012-02-27T13:31:23.033 に答える