调试,警告和来自非主类的信息消息在spark executor logging

时间:2016-09-30 09:13:47

标签: scala logging apache-spark spark-streaming

我们尝试了各种解决方案,包括更改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 :(得分:0)

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

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

enter image description here

希望这有帮助。