SparkCore(6):Spark應用的監控Job History
阿新 • • 發佈:2018-12-17
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