2017-10-16 6 views
0

私はSparkのすべてのlog4jプロパティの参照を見つけようとしており、見つけにくいです。私は人々がそれを持っているのを見た多くの例を見つけました。しかし、私は、それらのすべてを持っている参照があるかどうかを調べようとしています。Spark Log4jのプロパティのリファレンスはありますか?

私は、spark-submitジョブを起動して一連のデータ変換を実行し、他のユーザーが使用/拡張できるコードを作成しています。私はデフォルトでスパッツを吐き出すもののほとんどを必要とせず、単にlog4j.rootLogger = WARN、stdoutのようなものを設定するのは簡単です。しかし、INFOには画面に印刷しておくと便利なビットがいくつかあります。具体的には、

org.apache.spark.deploy.yarn.Client (Logging.scala:logInfo(54)) - 
    client token: Token { kind: YARN_CLIENT_TOKEN, service: } 
    diagnostics: N/A 
    ApplicationMaster host: N/A 
    ApplicationMaster RPC port: -1 
    queue: **** 
    start time: 1508185983070 
    final status: UNDEFINED 
    tracking URL: ***My tracking URL*** 
    user: ***User*** 

さらに具体的には、トラッキングURLです。おそらくLog4jについての私の限られた知識のおかげで、やや難しくなっています。私は次のようなことを試みました:

org.apache.spark.deploy.yarn.Client=Info 

しかし、これは正当なログプロパティではありません。 Sparkでその情報を取得する方法はありますか?可能なすべてのロギングプロパティーを設定するのは難しいですか?

ありがとうございます!

更新

私はこれを把握することができました。そのほとんどは、log4j.propertiesの仕組みが分からずにいたが、今のところはるかに優れた処理能力を持っているからだ。

クラスごとにロガーとログレベルを設定できます。これはすべての子クラスに適用されます。

私はこのような何か見て、私のlog4j.propertiesを変更:

log4j.logger.org.apache.spark=INFO, RollingAppender 
log4j.additivity.org.apache.spark=false 
log4j.logger.org.apache.hadoop=INFO, RollingAppender 
log4j.additivity.org.apache.hadoop=false 
log4j.logger.org.spark_project.jetty=INFO, RollingAppender 
log4j.additivity.org.spark_project.jetty=false 
log4j.logger.org.apache.spark.deploy.yarn.Client=INFO, RollingAppender 
log4j.additivity.org.apache.spark.deploy.yarn.Client=false 

をそして、それは(わずかチアゴが共有リンクから修正された)ファイルにかなりのYARNログのすべてのスパークをリダイレクトします。

私が行方不明になったキーの事...

1)私は

2 ..私はlog4j.loggerビットを欠けていた、log4j.logger.CLASS_NAMEを含めるために必要な)は、log4jのを持っている必要があります。 additivity.CLASS_NAME = falseです。これがなければINFOをデフォルト設定に記録するだけです。

最初はかなり混乱していますが、パターンを取得するとちょっと意識し始めます。

答えて

0

私はあなたがハッカーの正午で、この記事で見てみる提案します: それはもう少し複雑なあなたがスパークとして糸のアプリケーションで独自のログを生成したい場合はスパークでのログを生成することですhttps://hackernoon.com/how-to-log-in-apache-spark-f4204fad78a

提出。

+0

Thiagoさん、ありがとう、これは非常に便利です。私がすでに気づいている課題の1つは、ルートロガーを設定しない限り、ロギングがコンソールに出力されることです。すべてのスパークノイズに対するファイルロギングオーバーライドを尊重するようには見えません。その中には糸のものもありますし、問題の一部は、それを調整するために調整するログ設定を知っていることです。たとえば、 "INFO org.apache.spark.deploy.yarn.Client"がコンソールに表示されます。私はlog4j.logger.org.apache.spark.deploy.yarn.Client = WARNのようなものを設定しようとしましたが、何もしないようです。それを結びつける方法はありますか? –

関連する問題