1. 程式人生 > >SparkCore(6):Spark應用的監控Job History

SparkCore(6):Spark應用的監控Job History

1.實現功能

對於spark正在執行的應用,可以通過webUI:4040來檢視,但是對於已經執行完的job,則需要通過spark的job history來檢視,檢視方式是webUI:18080

2.配置Spark Job History

(1)建立HDFS上儲存spark應用執行日誌的資料夾

bin/hdfs dfs -mkdir -p /spark/history

(2)修改配置檔案(開啟日誌聚集功能)

修改spark-defaults.conf檔案

mv spark-defaults.conf.template spark-defaults.conf

新增

spark.eventLog.enabled           true
spark.eventLog.dir               hdfs://bigdata.ibeifeng.com:8020/spark/history
spark.yarn.historyServer.address               http://bigdata.ibeifeng.com:18080
	

(3)配置Spark job history的相關引數

vim spark-env.sh

修改

SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://bigdata.ibeifeng.com:8020/spark/history"

(4)啟動yarn和historyserver

    -》啟動yarn

    sbin/start-yarn.sh
    sbin/stop-yarn.sh

    -》啟動historyserver

   sbin/mr-jobhistory-daemon.sh start historyserver

(5)啟動spark的jobhistory服務

sbin/start-history-server.sh

(6)測試

再啟動一個bin/spark-shell,執行

val lines = sc.textFile("/README.md")

檢視Web頁面,顯示完成任務

http://bigdata.ibeifeng.com:18080

3.Spark Job History Rest API

在專案中,可以使用Rest API讀取到我們提交的應用的執行結果,儲存到資料

(1)檢視有多少應用

http://bigdata.ibeifeng.com:18080/api/v1/applications

(2)檢視對應的應用中有多少任務

http://bigdata.ibeifeng.com:18080/api/v1/applications/local-1494752327417/jobs

(3)下載對應的job的日誌資訊

http://bigdata.ibeifeng.com:18080/api/v1/applications/local-1494752327417/jobs/logs