spark監控入門


前言

Spark作為計算引擎每天承載了大量的計算任務,為了監控集群的資源使用情況,對spark的監控也在所難免,Spark的監控有3個入口,1. Rest; 2.另一個是Metrics; 3. Log。

 

Rest

參考spark的rest接口文檔

http://spark.apache.org/docs/latest/monitoring.html

spark支持把每個計算實例的執行信息寫到hdfs,然后通過historyserver或者自己去hdfs上找到文件解析出來。數據包括spark執行關鍵點,job,stage,task,數據種類上大致和MapReduce收集的內容差不多,主要是jvm,資源,shuffle,io這四個方面。

 

Metrics

默認情況spark不打開metrics,也就是沒有metrics數據,可以看配置conf/metrics.properties,默認都是被注釋掉的。Spark內置了多種metrics的sink方式,控制台,csv,slf4j等。

案例

打開基於控制台的metrics sink。如圖1,將3個配置的注釋去掉,將metrics信息每過10s打印到控制台上。如圖2,spark會將內存信息,job調度信息以及其他一些信息打印出來。

圖1

圖2

 

Log

Spark在on yarn模式下,日志由yarn統一管理,一般情況,我們會選擇把yarn的日志聚合功能打開,spark的日志也會跟着上傳到hdfs上,這樣自己去解析日志也會很容易。如果想要通過日志來監控spark任務執行情況,那么可能會需要業務層面的埋點,否則只能針對一些異常日常進行監測。

 

總結

Spark由於本身只是計算執行引擎,沒有常駐進程(history server不算),所以在監控層面相對比較靈活,但是也有復雜的地方。當每天有成千上萬個spark任務提交到集群執行的時候,那么需要監控的數據量就上來了,粒度越細,監控的壓力越大


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM