2017-04-01 97 views
7

我有一個在YARN上運行的spark工作,它似乎只是掛起而沒有做任何計算。如何判斷我的星火工作是否正在進行?

這裏是紗說,當我做yarn application -status <APPLICATIOM ID>

Application Report : 
Application-Id : applicationID 
Application-Name : test app 
Application-Type : SPARK 
User : ec2-user 
Queue : default 
Start-Time : 1491005660004 
Finish-Time : 0 
Progress : 10% 
State : RUNNING 
Final-State : UNDEFINED 
Tracking-URL : http://<ip>:4040 
RPC Port : 0 
AM Host : <host ip> 
Aggregate Resource Allocation : 36343926 MB-seconds, 9818 vcore-seconds 
Log Aggregation Status : NOT_START 
Diagnostics : 

而且,當我檢查yarn application -list它說,它是RUNNING。但我不確定我是否相信這一點。當我去火花WebUI中,我看到的只是一個階段,整個幾個小時我一直在運行它:

web UI

此外,當我點擊「階段」選項卡上,我什麼也看不見運行:

Stages tab

如何確保我的應用程序實際上是運行和YARN是不是在騙我?

我實際上更喜歡這樣拋出一個錯誤,而不是讓我等待,看看這個工作是否有效運行。我怎麼做?

回答

3

在火花應用程序UI

如果您點擊鏈接:「實木複合地板在Nativexxxx」它會告訴你在運行階段的詳細信息。

在該屏幕上會出現一列「輸入大小/記錄」。如果你的工作正在進行,那列中顯示的數字將會改變。

Image shows what I am trying to say

它基本上描述了你的閱讀遺囑執行人記錄數。

+0

嗯。我沒有看到。這是否意味着它沒有進步? – Candic3

+0

我們可以把這個聊一下嗎? – Candic3

+1

http://chat.stackoverflow.com/rooms/139996/spark-job-progress – Candic3

1

如果您轉到Spark UI並搜索「執行程序」選項卡。在那裏你會得到你的工作正在運行的列表執行者和旁邊的執行者ID和地址,你將有「日誌」欄,你將有「標準輸出」&「標準錯誤」選項卡。點擊標準輸出,你可以看到當你的作業運行時,這些日誌是寫在你的容器上的。

+0

,但僅僅是因爲日誌正在寫入 - 這是否意味着工作正在進行?日誌可能寫着「等待足夠的資源」等等,對吧? – Candic3

+0

@ Candic3是的,你是對的。但這是跟蹤日誌的最佳方式,您還可以看到與YARN及其資源相關的所有信息。 – BadBoy777

+0

@ Candic3看起來像你沒有足夠的資源在你的紗線羣中。 – Kaushal

1

YARN說它正在運行,因爲應用程序沒有退出或被殺死。 它不知道它是否卡住。在你的情況下,你可以在紗線客戶端模式下運行Spark作業,並查看應該建議它是否真的在運行的日誌。

相關問題