在spark standalone 模式下中如何查看日志


轉載於:https://www.jianshu.com/p/4eb47df6a0fa

standalone作業監控和日志記錄

standalone模式下的作業的監控,很簡單,就是通過spark web ui,8080端口

spark standalone模式,提供了一個web界面來讓我們監控集群,並監控所有的作業的運行
web界面上,提供了master和worker的相關信息,默認的話,我們的web界面是運行在master機器上的8080端口
可以通過配置spark-env.sh文件等方式,來配置web ui的端口

spark web ui

可以看到

  1. 哪些作業在跑
  2. 哪些作業跑完了,花了多少時間,使用了多少資源
  3. 哪些作業失敗了

application web ui

作業監控這一塊兒,其實很重要的一點是,作業的web ui
application detail ui,其實就是作業的driver所在的機器的4040端口
可以看到job、stage、task的詳細運行信息,shuffle read、shuffle write、gc、運行時間、每個task分配的數據量
定位很多性能問題、troubleshooting等等,task數據分布不允許,那么就是數據傾斜
哪個stage運行的時間最慢,通過之前講解的stage划分算法,去你的代碼里定位到,那個stage對應的是哪一塊兒代碼,你的那段代碼為什么會運行太慢
是不是可以用我們之前講解的一些性能優化的策略,去優化一下性能

但是有個問題,作業運行完了以后,我們就看不到了,此時跟history server有關,我們后面會講解,全局的去配置整個spark集群的監控和日志history server

日志記錄

  1. 系統級別的,spark自己的日志記錄
  2. 我們在程序里面,用log4j,或者System.out.println打印出來的日志

spark web ui中可以看到

  1. 看每個application在每個executor上的日志
  2. stdout,可以顯示我們用System.out.println打印出來的日志,stderr,可以顯示我們用System.err.println打印出來的日志

此外,我們自己在spark作業代碼中,打出來的日志,比如用System.out.println()等,是打到每個作業在每個節點的工作目錄中去的
默認是SPARK_HOME/work目錄下
這個目錄下,每個作業都有兩個文件,一個是stdout,一個是stderr,分別代表了標准輸出流和異常輸出流



作者:ZFH__ZJ
鏈接:https://www.jianshu.com/p/4eb47df6a0fa
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。


免責聲明!

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



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