Spark History Server 没有生效

来源:互联网 发布:淘宝客挣钱 编辑:程序博客网 时间:2024/06/04 20:03

Spark 提供了 Web UI 来对 Spark 应用进行监控。

每个 SparkContext 会启动一个 web UI,默认是在 4040 端口。它显示了应用相关的有用的信息,包括:

  • 一系列的 scheduler stage 和 task
  • RDD 大小和内存占用的概要
  • 环境信息
  • 正在运行的 executor 的一些信息

只要打开 http://:4040 就可以看到该页面。如果有多个 SparkContext 运行在同一个主机上,将会从端口 4040,4041, 4042 依次占用。

不过默认情况下,只在有应用运行期间这些信息才会存在。应用执行完毕,就无法查看了。如果想要在应用执行完毕后还能够查看 web UI,需要在启动应用前设置 spark.eventLog.enabled 为 true。这个选项会将 web UI 的信息进行持久化。

将以下信息写入到 etc/spark-defaults.conf

spark.eventLog.enabled truespark.eventLog.dir     file:/home/hadoop/data/spark/spark-logsspark.history.fs.logDirectory file:/home/hadoop/data/spark/spark-logs                          

需要注意的是:

  • spark.eventLog.dirspark.history.fs.logDirectory 两个选项的路径必须相同,否则无效。
  • 设置的路径,比如例中的 /home/hadoop/data/spark/spark-logs ,无论是本地目录,还是 HDFS ,都需要先行创建好在启动应用,如果启动 Spark 时该目录不存在,会报错。

比如在 HDFS 中存储,hdfs dfs -mkdir /eventLog 在 HDFS 中创建目录,然后设置 spark-defaults.conf:

spark.eventLog.enabled truespark.eventLog.dir     hdfs://Master:9000/eventLogspark.history.fs.logDirectory hdfs://Master:9000/eventLog         

这里写图片描述

参考:

  • Monitoring and Instrumentation
  • https://hadoophard.wordpress.com/2016/09/07/spark-history-server-not-working/
原创粉丝点击