2016-11-03 9 views
0

SparkでExecutorとDriverのカスタムlog4jプロパティを設定しようとしています。 log4jファイルをExecutorsおよびDriverノードにアップロードせずにこれを実行したいと思います。私はアプリケーションのjarファイルにlog4jプロパティファイルを持っています。Sparkでエグゼキュータとドライバにカスタムlog4jプロパティを使用する方法

spark-submit --deploy-mode cluster --master yarn --conf spark.driver.userClassPathFirst=true --conf spark.executor.userClassPathFirst=true --conf spark.executor.extraJavaOptions=-Dlog4j.configuration=log4j.properties --conf spark.driver.extraJavaOptions=-Dlog4j.configuration=log4j.properties --class com.***.MainApp s3://**/**-jar-with-dependencies.jar 

クラスパスにlog4jプロパティがありません。

Manifest-version: 1.0 
Implementation-Title: ### 
Implementation-Version: 1.7 
Implementation-Vendor: ### 

そして、私のjarファイルの構造は以下の通りです::マニフェストは以下の通りである私は、私はlog4j.propertiesを使用できることを確認する必要がありますどのような変更

jar-- 
    ---- log4j.properties 
    ---- com/ 
    ---- META-INF/ 
    ---- MANIFEST.MF 

は、本ファイルjarファイルを実行し、ExecutorおよびDriverノードにアップロードする必要はありません。

答えて

0

log4j.properties.templateSPARK/confフォルダにあります。

このlog4j.propertiesファイルを編集して、カスタムオプションと同じディレクトリに置くことができます。

スパークが残ります。 Sparkは内部的にlog4jをログに記録します。

関連する問題