首页 文章

来自非主类的调试,警告和信息消息在spark执行程序日志记录中不可见

提问于
浏览
1

我们尝试了各种解决方案,包括更改log4j.properties文件,通过--file将文件复制到执行程序,然后告诉他们将其用作通过--conf传递给spark的arg,并尝试更新配置EMR集群本身 .

来自系统的警告消息在执行程序日志中可见 . 来自主类的警告消息是可见的,但来自任何其他类的消息都没有通过以太网,我们不确定问题是什么 .

日志记录级别很好,如Spark生成的消息所示,但其他类消息未通过 .

驱动程序日志(来自EMR控制台的主页面)显示来自其他类的调试消息,执行程序日志(通过Spark UI Executor选项卡)不显示 .

非常感谢任何帮助,谢谢 .

这是一个在Spark 1.6上运行的流媒体应用程序 . 以下是我们尝试过的一些选项 .

正常运行步骤: Arguments: spark-submit --deploy-mode client --master yarn --class main jarLoc

在群集配置级别设置额外火花记录配置:

{"classification":"spark-log4j", "properties":{"log4j.logger.MainClass$":"DEBUG", 
"log4j.logger.org.apache.spark":"WARN", "log4j.logger.org.apache.hadoop":"WARN", "log4j.logger.com.amazonaws.services":"WARN", "log4j.logger.com.companyName":"INFO", "log4j.logger.org.spark-project":"WARN"}, "configurations":[]}

当前的log4j属性文件:

log4j.rootLogger=INFO, STDOUT
log4j.logger.deng=DEBUG
log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender
log4j.appender.STDOUT.layout=org.apache.log4j.PatternLayout
log4j.appender.STDOUT.layout.ConversionPattern=%d{yyyy-MM-dd hh:mm:ss} %t %x %-5p %-10c:%m%n

log4j.logger.MainClass$=DEBUG
log4j.logger.com.sessioncam=INFO
log4j.logger.org.apache.spark=WARN
log4j.logger.com.amazonaws.services=WARN
log4j.logger.org.spark-project=WARN
log4j.logger.org.apache.hadoop=WARN

我试过的事情:

spark-submit --deploy-mode client --master yarn --class MainClass--conf spark.executor.extraJavaOptions=-Dlog4j.configuration=file:/tmp/files/log4j.properties /tmp/files/jar.jar


Arguments: spark-submit --deploy-mode client --master yarn --class MainClass--files /tmp/files/log4j.properties /tmp/files/jar.jar

1 回答

  • 0

    日志最终在实际处理任务的执行程序的本地JVM中 .

    当您转到Spark UI时,您可以查看执行程序 . 当转到 stdoutstderr 时,您可以看到实际执行程序的输出

    enter image description here

    希望这可以帮助 .

相关问题