
[英]Slf4j vs Log4j - which one to use for logging in Spark cluster mode?
[英]LOG4J logging is not working on Spark yarn cluster mode
我已经构建了一个 pyspark 应用程序并使用 log4j 进行日志记录。
问题是当我在纱线客户端模式下运行 spark 应用程序时,日志正在发生,但是当我在纱线集群模式下运行应用程序时,它没有。
我也希望在集群模式下打印日志消息并将其保存为文件。
已经试过了
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
当您希望提供自定义 log4j 文件时,请通过在 spark-submit 命令中提供它来实现。 这是因为一旦 spark 启动,它自己的 log4j 文件优先于其他 log4j 配置。 提供您的 log4j 文件作为driver.java.options标志的一部分。 如果您以集群模式而不是客户端运行您的作业,请提及spark.executors.extraJavaOptions 中的 log4j 文件。 请记住,应该写入日志的位置必须可由驱动程序节点以及您的计算节点访问。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.