2016-08-15 96 views
16

負數當使用,我看到了這一點:活動任務是Spark UI

enter image description here

,你看到的是,活動任務是號(的區別來自已完成任務的總任務)。

此錯誤的來源是什麼?


節點,我有很多執行人。然而,似乎有一項似乎是空閒的任務(我沒有看到任何進展),而另一項相同的任務正常完成。


而且這關係:即mail我可以證實,正在創建的許多任務,因爲我使用的1K或2K執行人。

我得到的錯誤是有點不同:

16/08/15 20:03:38 ERROR LiveListenerBus: Dropping SparkListenerEvent because no remaining room in event queue. This likely means one of the SparkListeners is too slow and cannot keep up with the rate at which tasks are being started by the scheduler. 
16/08/15 20:07:18 WARN TaskSetManager: Lost task 20652.0 in stage 4.0 (TID 116652, myfoo.com): FetchFailed(BlockManagerId(61, mybar.com, 7337), shuffleId=0, mapId=328, reduceId=20652, message= 
org.apache.spark.shuffle.FetchFailedException: java.util.concurrent.TimeoutException: Timeout waiting for task. 

回答

6

這是一個星火問題。執行者在失敗後重新啓動時發生。同樣的JIRA問題已經創建。您可以從https://issues.apache.org/jira/browse/SPARK-10141鏈接獲得更多相關信息。

+0

Hokam,看來我們的答案是一致的!太好了,謝謝你的讚賞!作爲一種公平的舉動,我會接受你的。 :) – gsamaras

6

S. Owen星火-dev郵件列表回答,有幾個JIRA票,其與這一問題有關,如:

  1. ResourceManager UI showing negative value
  2. NodeManager reports negative running containers

這種行爲通常(許多)執行者在失敗後重新啓動時發生。


當應用程序使用過多的執行程序時,也會發生此行爲。使用coalesce()來修復這種情況。

確切地說,在Prepare my bigdata with Spark via Python中,我有> 400k個分區。我使用data.coalesce(1024),如重新分區RDD中所述,並且我能夠繞過Spark UI錯誤。分區計算是分佈式計算和Spark的一個非常重要的概念。

在我的問題中,我也使用1-2k執行者,所以它必須是相關的。

注意:分區太少,您可能會遇到此問題Spark Java Error: Size exceeds Integer.MAX_VALUE