1. 程式人生 > >SparkSteaming程式異常問題排查步驟

SparkSteaming程式異常問題排查步驟

SparkSteaming程式異常問題排查步驟

程式執行環境:Spark on yarn  cluster環境

異常問題排查步驟:

1.首先在yarn頁面檢視程式的執行情況,點選running頁面檢視程式是否掉線。

2.不掉線的情況,點選上圖的 Tracking UI對應的:ApplicationMaster進入任務詳細資訊頁面 ,檢視jobs 和Streaming頁面檢視是否正常。

3.如果程式有問題,在Streaming頁面就可以此批次下的異常記錄進行排查。

 

上圖為正常情況,未貼上異常問題圖片,如有問題此批次下就可看異常明顯。

4.此外也可以通過其他方法檢視

(1) 通過Executors頁面檢視,此頁面可以檢視driver和executor上執行的報錯資訊。

因有時在頁面上檢視異常時,可能偶遇頁面無法開啟的情況,顧需要了解如何在伺服器上檢視log

(2)伺服器上檢視log

   1.首先通過上圖Executor頁面,可以知道driver對應的地址,假如為172.34.3.12,登入此臺伺服器。切換為yarn 使用者:su - yarn

在yarn使用者下,使用jps -m | grep Application_id 查詢此application的程序。此時會發現執行在此伺服器上的applicationMaster也及driver. 確認此applicationMaster執行在此伺服器上,使用:find /hadoop/yarn -name app.log查詢對應的 application_id執行的app.log檔案,檢視程式執行情況,注意,如果程式停止後此log也會丟失。預設的app.log的 地址:hadoop/yarn/local/usercache/spark/appcache/application_1542545489360_9520/container_e28_1542545489360_9520_01_000001/log/app.log

2.可以檢視其excutor 的執行log,如上圖executor id=1, 找到對應的ip地址,到此伺服器上。切換為yarn 使用者:su - yarn ,使用jps -m | grep Application_id 查詢此application的程序,此時執行的是CoarseGrainedExecutorBackend,這是executor的守戶程序。確認此application_id執行的executor後,在/hadoop/yarn/log/可以檢視Executor 上執行Application的log資訊,預設地址:cd /hadoop/yarn/log/application_1542545489360_9520/container_e28_1542545489360_9520_01_000002

在此目錄下會有:directory.info  launch_container.sh  stderr  stdout  在stderr中檢視log資訊。