【问题标题】:LOG4J logging is not working on Spark yarn cluster modeLOG4J 日志记录在 Spark 纱线集群模式下不起作用
【发布时间】:2020-04-25 16:33:57
【问题描述】:

我已经构建了一个 pyspark 应用程序并使用 log4j 进行日志记录。

问题是当我在 yarn-client 模式下运行 spark 应用程序时,会发生日志记录,但是当我在 yarn-cluster 模式下运行应用程序时却没有。

我也希望在集群模式下打印日志消息并保存为文件。

已经试过了

Spark-submit —-files option
and setting spark.executor.extrajavaoptions and spark.driver.extrajavaoptions.

My log4j.properties

log4j.rootCategory=INFO,FILE
log4j.appender.FILE=org.apache.log4j.RollingFileAppender


log4j.appender.FILE.File=/some/path/to/edgeNode/SparkDriver.log

log4j.appender.FILE.Append=false
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n

【问题讨论】:

    标签: apache-spark logging pyspark log4j hadoop-yarn


    【解决方案1】:

    如果您希望提供自定义 log4j 文件,请在 spark-submit 命令中提供该文件。这是因为一旦 spark 启动,它自己的 log4j 文件优先于其他 log4j 配置。 提供您的 log4j 文件作为 driver.java.options 标志的一部分。如果您在集群模式而不是客户端运行作业,请在 spark.executors.extraJavaOptions 中提及 log4j 文件。请记住,应该写入日志的位置必须可由驱动程序节点以及您的计算节点访问。

    【讨论】:

    • 我正在从 spark-submit 本身传递自定义 log4j.properties。
    • 它适用于 -- master yarn 和部署模式客户端,但似乎不适用于集群模式。
    • 在集群模式下通过 --files 参数中的 log4j 配置
    猜你喜欢
    • 2016-04-18
    • 1970-01-01
    • 2023-04-08
    • 2016-04-09
    • 2015-10-22
    • 1970-01-01
    • 2018-10-25
    • 2021-12-23
    • 2018-06-24
    相关资源
    最近更新 更多