背景
spark streaming 任務席噩,任務持續(xù)運行會產(chǎn)生大量的日志蛾坯,查看起來非常麻煩丑搔,而且非常浪費時間。
方案
主要針對log4j.properties文件進行修改高镐,此處引入了spark executor 啟動時添加到JVM中的系統(tǒng)變量${spark.yarn.app.container.log.dir}溉旋。生成的日志會存儲在yarn的配置參數(shù)(yarn.nodemanager.log-dirs)指定的目錄下。
log4j.rootLogger=INFO, console ,dRFile, dRFileError
#console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Target=System.err
log4j.appender.console.layout=org.apache.log4j.PatternLayout
#按日期滾動文件(info)
log4j.appender.dRFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.dRFile.File=${spark.yarn.app.container.log.dir}/app-info
log4j.appender.dRFile.DatePattern=.yyyyMMdd
log4j.appender.dRFile.Threshold=INFO
log4j.appender.dRFile.layout=org.apache.log4j.PatternLayout
#按日期滾動文件(error)
log4j.appender.dRFileError=org.apache.log4j.DailyRollingFileAppender
log4j.appender.dRFileError.File=${spark.yarn.app.container.log.dir}/app-error
log4j.appender.dRFileError.DatePattern=.yyyyMMdd
log4j.appender.dRFileError.Threshold=ERROR
log4j.appender.dRFileError.layout=org.apache.log4j.PatternLayout
效果展示
driver 及 executor 上日志的展示如下
[app-error : Total file length is 100 bytes.]
[app-info : Total file length is 100 bytes.]
[app-info.20201119 : Total file length is 100 bytes.]
[app-info.20201120 : Total file length is 100 bytes.]
[stderr : Total file length is 100 bytes.]
[stdout : Total file length is 0 bytes.]
關(guān)于大數(shù)據(jù)方面技術(shù)問題可以咨詢嫉髓,替你解決你的苦惱观腊。參考WX:hainanzhongjian