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 true
spark.eventLog.dir file:/home/hadoop/data/spark/spark-logs
spark.history.fs