提交火花时如何输出自定义日志到终端?

时间:2018-11-07 08:04:29

标签: java apache-spark logging terminal log4j

我在机器A上有一个单节点Spark,并且在另一台机器B上进行了Spark-submit,这就是我运行spark-submit的方式:

{
    "data": [
        {
            "id": 2,
            "name": "culpa",
            "type_id": 3,
            "created_at": "2018-10-30 11:23:27",
            "updated_at": "2018-10-30 11:23:27",
            "user_id": 2,
            "highscore": 702,
            "level": 3
        }
    ]
}

这很好用,我可以看到通过字数生成的output9。

只有那样,当查看终端(我运行spark-submit的那个终端)时,我找不到我的日志信息,我看到的只是spark日志

spark-submit \
  --class com.foo.misc.spark.WordCount \
  --master yarn \
  --deploy-mode cluster \
  --executor-memory 1G \
  --num-executors 5 \
  wordcount.jar \
  file:///root/input01.txt \
  hdfs://os74gcc52-c6cfd5d5:9000/test/output9

这是我在WordCount.java中进行日志的方式,

2018-11-07 15:41:36 INFO  Client:54 - Application report for application_1541562152848_0010 (state: RUNNING)
2018-11-07 15:41:37 INFO  Client:54 - Application report for application_1541562152848_0010 (state: RUNNING)
2018-11-07 15:41:38 INFO  Client:54 - Application report for application_1541562152848_0010 (state: RUNNING)
2018-11-07 15:41:39 INFO  Client:54 - Application report for application_1541562152848_0010 (state: RUNNING)
2018-11-07 15:41:40 INFO  Client:54 - Application report for application_1541562152848_0010 (state: FINISHED)

是因为我正在使用集群部署模式吗?还是因为其他原因?

1 个答案:

答案 0 :(得分:0)

从资源管理器中获取spark作业的应用程序ID。使用yarn命令获取该应用程序ID的日志。您将在此处找到使用日志管理器打印的信息。 如果应用程序是以客户端模式提交的,我认为可以在作业运行时在控制台上看到它们