0

この質問はすでに回答されている可能性がありますが、適切な回答が見つかりませんでした。私は eclipse で hadoop mapreduce を使用しています。実行可能な jar を作成して、hdfs クラスターがある Linux サーバーに配置したいと考えています。hdfs クラスターと eclipse で jar を実行すると、java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory が原因で例外が表示されるという問題があります。そのため、外部 jar common-logging を追加しましたが、再度実行すると別の NoClassDefFoundError が表示されましたが、今回は log4j レベルなどでした。外部 jar をいくつ追加しなければならないのか疑問に思いましたが、それが最善の解決策だとは思いません。誰かが同じ問題を抱えていて、どのように解決しましたか? どうもありがとうございました。

4

1 に答える 1

0

通常、このエラーは、ログの初期化中に以前の例外が発生したときに発生します。

Hadoop は依存関係について非常に気まぐれです。サードパーティのライブラリが Hadoop クラスパスの一部であることを確認するか、ジョブ jar にすべての依存関係を含むシェーディング jar を作成する必要があります。そのjarを作成するには、mavenまたはアセンブリを使用する必要があります。

于 2014-07-03T12:03:42.293 に答える