1

spark-submit を使用して Java jar を送信し、スタンドアロン クラスター マネージャーを起動しています。しかし、カスタム log4j.xml ファイルを提供することはできません。--files オプションを使用した場合、その log4j ファイルを同じ位置にあるすべてのマシンにコピーする必要があります。または、hdfs:// パスを使用して指定した場合、そのファイルを log4j として取得せず、デフォルトの log4j ファイルに切り替えます。

また、ローカル パスと hdfs パスの両方で -Dlog4j.configuration を使用しましたが、--files を使用した場合と同じ問題が発生しています。

解決策を知っている人がいたら教えてください

前もって感謝します。

4

1 に答える 1

1

Spark は、log4j を使用した HDFS でのログの書き込みをサポートしていませんが、UNIX ボックスでローカルにログを書き込むことができます。

spark-submit コマンドで log4j を指定するためのプロパティは次のとおりです。

--conf "spark.driver.extraJavaOptions=-Dlog4j.configuration= Location of your log4j.properties file"

--conf "spark.executor.extraJavaOptions=-Dlog4j.configuration= location of your log4j.properties file"

ローカル UNIX ボックスに log4j.xml ではなく、カスタム log4j.properties ファイルを作成する必要があります。

HDFS でカスタム ログを作成する場合は、java でインターフェイスを作成するか、scala で特性を作成してログ レベルを指定し、詳細な参照用にログを HDFS に書き込むことができます。この質問を確認できます。

于 2017-01-11T10:10:18.060 に答える