正如Monitoring and Instrumentation中提到的,我们需要在spark-defaults.conf中设置以下三个参数
spark.eventLog.enabled
spark.eventLog.dir
spark.history.fs.logDirectory
第一个属性应该是true
spark.eventLog.enabled true
第二个和第三个属性应该指向event-log 位置,可以是local-file-system 或hdfs-file-system。 第二个属性定义了存储 Spark 作业日志的位置,第三个属性是历史服务器在 18080 处的 Web UI 中显示日志。
如果你选择linux local-file-system (/opt/spark/spark-events)
要么
spark.eventLog.dir file:/opt/spark/spark-events
spark.history.fs.logDirectory file:/opt/spark/spark-events
或者
spark.eventLog.dir file:///opt/spark/spark-events
spark.history.fs.logDirectory file:///opt/spark/spark-events
应该工作
如果你选择hdfs-file-system (/spark-events)
要么
spark.eventLog.dir hdfs:/spark-events
spark.history.fs.logDirectory hdfs:/spark-events
或者
spark.eventLog.dir hdfs:///spark-events
spark.history.fs.logDirectory hdfs:///spark-events
或者
spark.eventLog.dir hdfs://masterIp:9090/spark-events
spark.history.fs.logDirectory hdfs://masterIp:9090/spark-events
应该在 masterIp:9090 是 core-site.xml 的 hadoop 配置中的 fs.default.name 属性的情况下工作。
Apache spark历史服务器可以由
启动
$SPARK_HOME/sbin/start-history-server.sh
第三方spark历史服务器例如Cloudera可以由
启动
sudo service spark-history-server start
并停止历史服务器(对于 Apache)
$SPARK_HOME/sbin/stop-history-server.sh
或者(对于 cloudera)
sudo service spark-history-server stop