摘要
在學習使用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格式來寫文章,感覺挺簡單的。