如何在YARN中定制Log4j属性文件



我在spark集群中运行YARN之上的应用程序,但我需要设置自己的日志文件创建路径,并需要更改日志消息的格式。为此,我想使用我定制的Log4j。属性文件,而不是默认的log4j。YARN提供的属性文件。如何做到这一点?

我使用这个spark-submit脚本将我的log4j.properties推送到Yarn,以便我可以控制日志模式。我特别想要完整的包名,这样我就可以从生成的Yarn应用程序日志中找出我的类在记录什么。

spark-submit 
    --class com.acme.Main 
    --master yarn 
    --deploy-mode cluster 
    --driver-memory 2g 
    --executor-memory 1g 
    --driver-class-path "./conf" 
    --files "./conf/app.properties,./conf/log4j.properties" 
    ./lib/my-app-uber.jar 
    "$@"

就我个人而言,我只使用ConsoleAppender,我所有的应用程序日志记录都出现在标准的Yarn日志中。HDFS不能使用RollingFileAppender

log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} - %-5p %c:%L -> %m%n

你应该在

看到你的结果
yarn logs -applicationId <your-app-id>

相关内容

  • 没有找到相关文章

最新更新