gpt4 book ai didi

apache-spark - 如何在 spark 提交期间指定输出日志文件

转载 作者:行者123 更新时间:2023-12-04 03:42:49 26 4
gpt4 key购买 nike

我知道如何为 spark 提供记录器属性文件。所以我的记录器属性文件看起来像:

log4j.rootCategory=INFO,FILE
log4j.appender.FILE=org.apache.log4j.RollingFileAppender
log4j.appender.FILE.File=/tmp/outfile.log
log4j.appender.FILE.MaxFileSize=1000MB
log4j.appender.FILE.MaxBackupIndex=2
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
log4j.appender.rolling.strategy.type = DefaultRolloverStrategy

然后我通过以下方式向 spark-submit 提供记录器属性文件路径:-Dlog4j.configuration=file:logger_file_path

但是,我想在 spark-submit 期间提供 log4j.appender.FILE.File 值。有什么办法可以做到吗?

关于上述方法的理由,我在多个 YARN 队列上执行 spark-submit。由于 Spark 代码库是相同的,所以我只想要一个不同的日志文件用于在不同队列上提交的 spark。

最佳答案

在 log4j 文件属性中,您可以使用如下表达式:

log4j.appender.FILE.File=${LOGGER_OUTPUT_FILE}

解析时,log4j.appender.FILE.File 的值将从 system property 中选取LOGGER_OUTPUT_FILE

根据这个SO post ,您可以通过在调用 JVM 时添加 -DLOGGER_OUTPUT_FILE=/tmp/outfile.log 来设置系统属性的值。

所以使用 spark-submit 你可以试试这个(我还没有测试过):

spark-submit --master yarn \
--files /path/to/my-custom-log4j.properties \
--conf "spark.driver.extraJavaOptions=-Dlog4j.configuration=my-custom-log4j.properties -DLOGGER_OUTPUT_FILE=/tmp/outfile.log" \
--conf "spark.executor.extraJavaOptions=-Dlog4j.configuration=my-custom-log4j.properties -DLOGGER_OUTPUT_FILE=/tmp/outfile.log"

关于apache-spark - 如何在 spark 提交期间指定输出日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65667118/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com