Spark输出:log-style vs progress-style

时间:2015-04-27 12:54:17

标签: logging apache-spark

两个不同集群上的

spark-submit输出(都运行spark 1.2)看起来不同:一个是" log-style",即一个庞大的消息流,如

15/04/06 14:53:13 INFO TaskSetManager: Starting task 262.0 in stage 4.0 (TID 894, XXXXX, PROCESS_LOCAL, 1785 bytes)
15/04/06 14:53:13 INFO TaskSetManager: Finished task 255.0 in stage 4.0 (TID 892) in 155 ms on XXXXX (288/300)
15/04/06 14:53:13 INFO BlockManagerInfo: Added rdd_16_262 in memory on XXXXX:49388 (size: 14.3 MB, free: 1214.5 MB)
15/04/06 14:53:13 INFO TaskSetManager: Finished task 293.0 in stage 4.0 (TID 893) in 156 ms on XXXXX (289/300)
15/04/06 14:53:13 INFO TaskSetManager: Finished task 262.0 in stage 4.0 (TID 894) in 168 ms on XXXXX (290/300)
15/04/06 14:53:16 INFO TaskSetManager: Starting task 1.0 in stage 4.0 (TID 895, ip-10-0-3-92.ec2.internal, NODE_LOCAL, 1785 bytes)
15/04/06 14:53:16 INFO TaskSetManager: Starting task 74.0 in stage 4.0 (TID 896, XXXXX, NODE_LOCAL, 1785 bytes)

和另一个"进步风格",即一个不断增长的进度条 屏幕底部(可能因错误而中断)。

如何在两种样式之间切换? (基于每个作业或每个集群)

我尝试将--conf spark.ui.showConsoleProgress=true传递给 spark-submit没有效果。

1 个答案:

答案 0 :(得分:7)

之前我遇到过这种情况,我的情况是时间只是因为在imagePoints两个群集之间设置了不同的log4j.rootCategory级别。

"进步风格"集群中的输出具有conf/log4j.properties级别的日志记录,而" Log-style"当我将日志记录级别设置为WARN

时发生

更新(2015-05-10):

遇到分支1.4.0中SparkContext中的INFO启动逻辑,实际上由两个条件控制:

_progressBar

因此,要在Console中启用进度样式输出,您必须将_progressBar = if (_conf.getBoolean("spark.ui.showConsoleProgress", true) && !log.isInfoEnabled) { Some(new ConsoleProgressBar(this)) } else { None } 设置为spark.ui.showConsoleProgress并将conf / log4j.properties中的日志级别升级为true,即,Not enabling InfoWARN