在學習使用Spark的過程中,總是想對内部運作過程作深入的了解,其中DEBUG和TRACE級别的日志可以為我們提供詳細和有用的資訊,那麼如何進行合理設定呢,不複雜但也絕不是将一個INFO換為TRACE那麼簡單。
摘要
主要問題
調整Spark日志級别的配置檔案是$SPARK_HOME/conf/log4j.properties,預設級别是INFO,如果曾經将其改為DEBUG的朋友可能會有這樣的經曆,有用的資訊還沒看完,就被大量的心跳檢測日志給淹沒了。
解決辦法
隻将需要的日志級别調整為_TRACE_,而将心跳檢測類的設定為_INFO_級别以上,避免幹擾。
log4j.properties示範
# Set everything to be logged to the console
log4j.rootCategory=INFO, 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.eclipse.jetty=WARN
log4j.logger.org.eclipse.jetty.util.component.AbstractLifeCycle=ERROR
log4j.logger.org.apache.spark.repl.SparkIMain$exprTyper=INFO
log4j.logger.org.apache.spark.repl.SparkILoop$SparkILoopInterpreter=INFO
log4j.logger.org.apache.spark.sql.SQLContext=TRACE
log4j.logger.org.apache.spark.sql.catalyst.analysis.Analyzer=TRACE
log4j.logger.org.apache.spark=TRACE
log4j.logger.org.apache.spark.storage.BlockManagerMasterActor=WARN
log4j.logger.org.apache.spark.HeartbeatReceiver=WARN
log4j.logger.org.apache.spark.scheduler.local.LocalActor=WARN
小結
第一次在部落格園中用markdown格式來寫文章,感覺挺簡單的。