2017-06-13 9 views
0

ハイブ・ビューからデータを読み取り、hdfsにcsvファイルを作成するスカラー・ジャー・ファイルがあります。このjarはCLIから呼び出されると、 Oozieからトリガされたとき、それは私がいくつかの検索を行い、のpom.xmlの依存関係に除外を追加すると、トリックを行いますことを見出したsparkアクションが 'osieから複数のSLF4Jバインディングを含むクラス'エラーを発生する

SLF4J : Classpath contains multiple SLF4J bindings. 
SLF4J : Found binding in [jar:file:/data/hadoop-data/9/yarn/nm/filecache/7505/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
SLF4J : Found binding in [jar:file:/data/hadoop-data/1/yarn/nm/usercache/cntr/filecache/216569/slf4j-log4j12.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
SLF4J : Found binding in [jar:file:/opt/cloudera/parcels/CDH-5.8.3-1.cdh5.8.3.p2256.2455/jars/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] 

SLF4J : Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory] 

エラーの下にスローワークフローので、私はのpom.xmlの私除外するために、次の追加しました

<exclusions> 
    <exclusion> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-log4j12</artifactId> 
    </exclusion> 
    <exclusion> 
     <groupId>log4j</groupId> 
     <artifactId>log4j</artifactId> 
    </exclusion> 
    <exclusion> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-api</artifactId> 
    </exclusion> 
</exclusions> 

でもまだoozieワークフロー

から火花ジャーをトリガーするときに、同じエラーが任意の提案はここにバインディングをチェックする別の方法です

+0

あなたのエラーでわかるように、クラスパスに複数の 'slf4j-log4j12-1.7.5.jar'があるためです。それは私の推測ではなく、ちょうどその情報ですね。 –

+0

こんにちは@RameshMaharjan、それはstozrからoozieから来ているので、スパークアクションが失敗しているので、コマンドラインインターフェイスから実行すると、クラスタ内でjarファイルが正常に実行されています – major

答えて

0

歓迎されています。私は開発用にEclipseを使用していると仮定しています。これはmavenプロジェクトです。

  • ゴーあなたがあなたのケースのSLF4Jに依存関係]タブで
  • 、結合の検索を、のpom.xmlに。
  • すべてを右クリックして除外します。

基本的には、そこに言及したように、除外ブロックをpom.xmlに追加することです。その依存関係が他のライブラリから来ているかどうかを知ることができます。

これが役立つかどうか教えてください。 乾杯。

+0

こんにちは@chitral verma私はdependeciesタブでslf4jを探しましたpom.xmlと除外する対象が見つかりません – major

+0

依存関係タブの代わりに、同じ依存関係階層タブを使用できますか? –

0

jarsslf4jであり、これは異なるものが使用しています。jarsです。より簡単な解決策は、あなたの依存関係の中でslf4jの最新またはそれ以上のバージョンを追加することです。これは下位互換性のある最新のjarだけを使用するように強制します。

またmvn dependency:treeを実行することができますし、SLF4Jの実装を検索し、このことができます

<exclusions> 
     <exclusion> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-log4j12</artifactId> 
     </exclusion> 
     <exclusion> 
     <groupId>log4j</groupId> 
     <artifactId>log4j</artifactId> 
     </exclusion> 
    </exclusions> 

として希望を除外します!

0

さらにログファイルを調査した結果、hive-site.xmlが正しく動作しなかったことが原因で問題が発生していることがわかりました。sparkアクションはhark-site.xmlをoozieワークフローから期待していますテーブルをハイブにする。 hive-site.xmlを渡した後、問題は解決しました

お時間をいただきありがとうございます。

関連する問題