最近發現不少同事,寫了很長一段時間的spark streaming,但是對於application的運行狀態卻不甚瞭解。多數也知道有spark webui可以查看,但又稀里糊塗不太會用。

這篇文章主要介紹,spark on yarn上,如何查看application的運行狀態。

查找application

根據application name在yarn web中搜索自己的application

Application列表

查看application

使用yarn調度的application,application信息通過application WebUI暴露出來。對於spark而言,application WebUI是通過driver暴露出來的,而driver跑在ApplicationMaster上,所以打開ApplicationMaster鏈接即可。

Application詳情頁

查看streaming batch

對於spark streaming而言,每個application是按照一個一個batch執行的,每一個batch可能有多個job,每個job也存在多個stage,所以最頂層的應該是batch。 通過點擊streaming標籤可以查看所有batch列表。

batch列表分成兩塊:

  • Active:正在執行或者排隊執行的batch
  • Complete:已經完成的batch
batch列表頁

查看具體batch

從batch列表中,選擇一個batch打開,可以看到batch的詳情。

最底部,可以看到此batch分成了2個job。

Job列表

查看具體job

從job列表中,選擇一個job打開,可以看到job的詳情。

可以看到此job分為兩個stage,點擊每個stage中代碼高亮部分,可以查看stage的詳情。

點擊DAG Visualization可以查看stage的切分,以及每個stage的中的RDD transformation過程。

Stage列表

Job DAG

查看stage詳情

從上一步中選擇一個stage點開,進入到stage詳情頁。

stage詳情頁中可以查看具體的task執行情況;

stage詳情頁也包含了代碼級別的DAG Visualization和各種匯總指標。

stage詳情
stage DAG

推薦閱讀:
相關文章