最近發現不少同事,寫了很長一段時間的spark streaming,但是對於application的運行狀態卻不甚瞭解。多數也知道有spark webui可以查看,但又稀里糊塗不太會用。
這篇文章主要介紹,spark on yarn上,如何查看application的運行狀態。
根據application name在yarn web中搜索自己的application
使用yarn調度的application,application信息通過application WebUI暴露出來。對於spark而言,application WebUI是通過driver暴露出來的,而driver跑在ApplicationMaster上,所以打開ApplicationMaster鏈接即可。
對於spark streaming而言,每個application是按照一個一個batch執行的,每一個batch可能有多個job,每個job也存在多個stage,所以最頂層的應該是batch。 通過點擊streaming標籤可以查看所有batch列表。
batch列表分成兩塊:
從batch列表中,選擇一個batch打開,可以看到batch的詳情。
最底部,可以看到此batch分成了2個job。
從job列表中,選擇一個job打開,可以看到job的詳情。
可以看到此job分為兩個stage,點擊每個stage中代碼高亮部分,可以查看stage的詳情。
點擊DAG Visualization可以查看stage的切分,以及每個stage的中的RDD transformation過程。
從上一步中選擇一個stage點開,進入到stage詳情頁。
stage詳情頁中可以查看具體的task執行情況;
stage詳情頁也包含了代碼級別的DAG Visualization和各種匯總指標。