2016-11-04 11 views
0

Sparkクラスタから非常に奇妙な動作が見られます。スパークロギングがドライバに送信されず、ワーカーにのみメッセージが存在する

INFO 2016-11-04 13:14:10,671 org.apache.spark.executor.Executor: Finished task 227.0 in stage 4.0 (TID 3168). 1992 bytes result sent to driver

これらの多くの場合、かなり速いコンソールを埋めると、アプリケーションがの多くを使用する場合は特に、によって達人:1が​​1がそうのようなログメッセージを表示されます実行したときにロギング用

通常の動作ですパーティション。

しかし、spark-submitを実行した後、通常のログメッセージが表示されません。おそらく約5行。むしろ、すべての通常のログメッセージはSpark UIのドライバstdoutにあります。

質問はどのような設定で、Sparkにこれらのログエントリをドライバに返さないように指示する可能性がありますか?

ログメッセージが複数の場所に分割されている場合、アプリケーションをデバッグするのは非常に難しいため、むしろ面倒です。通常、私はspark-submitを実行した後、ログが画面に流入するのを見て、それが何をしているのかを感じます。イベントの後にログを見なければならないので、今私はその気持ちを得ることができません。

+0

ログ収集で単一障害点を突き止めるのは危険だと思いませんか? –

+1

@LostInOverflow私は、アプリケーションをデバッグしようとしています。 – samthebest

答えて

1

瓶を掘った後、私はそれが奇妙なlog4jファイルで構築されていたことを発見しました。私はこのファイルに何が入っているのか分からないが、何かがドライバに来るログを停止する。このlog4jファイルなしでjarを再構築すると、ログは正常に機能します!!

# Set everything to be logged to the console 
log4j.rootCategory=DEBUG, console 
log4j.appender.console=org.apache.log4j.ConsoleAppender 
log4j.appender.console.target=System.err 
log4j.appender.console.layout=org.apache.log4j.PatternLayout 
log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n 

# Settings to quiet third party logs that are too verbose 
log4j.logger.org.spark-project.jetty=WARN 
log4j.logger.org.spark-project.jetty.util.component.AbstractLifeCycle=ERROR 
log4j.logger.org.apache.spark=WARN 
log4j.logger.org.apache.hadoop=INFO 
log4j.logger.io.netty=INFO 
log4j.logger.com.datastax.cassandra=INFO 


# SPARK-9183: Settings to avoid annoying messages when looking up nonexistent UDFs in SparkSQL with Hive support 
log4j.logger.org.apache.hadoop.hive.metastore.RetryingHMSHandler=FATAL 
log4j.logger.org.apache.hadoop.hive.ql.exec.FunctionRegistry=ERROR 
関連する問題