常用的Spark监控系统有,Web UI和Spark的History-Server
一,web界面
1,界面的基本介绍
每一个Spark应用程序都会启动一个spark ui,默认端口是4040端口,用于展示对应用程序有用的信息。包括以下信息:
1),stages和tasks列表。
2),RDD大小的总概和内存使用。
3),运行环境信息。
4),运行的Executors状态。
你可以在浏览器输入: http://<driver-node>:4040访问该界面。如果多个SparkContexts在同一台主机上运行,则它们将以4040(4041,4042等)开始绑定到连续的端口。请注意,默认情况下,这些信息只会在程序运行期间可以查看。在程序运行结束后查看webUI,需要在启动应用程序前设置spark.eventLog.enabled为true。这配置spark会将显示在web ui上的spark events存储到存储系统中去。
2,spark的historyServer
只要应用程序的事件日志存在,仍然可以通过Spark的历史记录服务器构建应用程序的UI。通过执行下面的命令,启动历史服务器:
./sbin/start-history-server.sh
默认情况下,这将在http:// <server-url>:18080创建一个Web界面,列出未完成和已完成的应用程序和尝试。
如何配置Spark的HistoryServer
官网:http://spark.apache.org/docs/latest/monitoring.html
1、更改Spark-default.conf
spark.eventLog.enabled true
spark.eventLog.dir hdfs://命名空间/(hdfs上创建一个目录)
2、更改spark-env.sh
SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory= hdfs://命名空间/(hdfs上创建一个目录)"
http://hadoop000:18080/ 启动即可