我在Spark集群中运行YARN上的应用程序,但是我需要设置自己的路径来创建日志文件,并且需要更改日志消息的格式。为此,我想使用我自定义的Log4j.properties文件,而不是YARN提供的默认log4j.properties文件。怎么办呢?
答案 0 :(得分:1)
我使用这个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日志中以及其他所有内容中。您无法将RollingFileAppender
与HDFS一起使用。
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>