Spark输出:log-style vs progress-style

sds*_*sds 5 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)
Run Code Online (Sandbox Code Playgroud)

和另一个"进步风格",即屏幕底部不断增长的进度条(如果有错误,可能会被错误中断).

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

我试过传递--conf spark.ui.showConsoleProgress=truespark-submit没有效果.

yjs*_*hen 7

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

集群中出现"进度样式"输出具有WARN日志记录级别,而当我将日志记录级别设置为"日志样式"时出现"日志样式"INFO

更新(2015-05-10):

遇到_progressBarSparkContext中的启动逻辑,在branch-1.4.0中,实际上由两个条件控制:

_progressBar =
  if (_conf.getBoolean("spark.ui.showConsoleProgress", true) && !log.isInfoEnabled) {
    Some(new ConsoleProgressBar(this))
  } else {
    None
  }
Run Code Online (Sandbox Code Playgroud)

因此,为了能够在控制台进度式输出,你必须都设置spark.ui.showConsoleProgresstrue和升级你的日志级别中的conf/log4j.properties到Not enabling Info,即WARNERROR.