1

嗨,我剛剛想出了一個奇怪的任務:Amazon EMR MapReduce進度回滾?

我運行一個java-MapReduce作業與EMR。

數據約爲1T,我使用了1個主站+8個從站。

所有的實例都是r2.2xlarge。

起初,一切都看起來不錯象下面這樣:

INFO mapreduce.Job: map 0% reduce 0% 
INFO mapreduce.Job: map 1% reduce 0% 
INFO mapreduce.Job: map 2% reduce 0% 
INFO mapreduce.Job: map 3% reduce 0% 
INFO mapreduce.Job: map 4% reduce 0% 
INFO mapreduce.Job: map 5% reduce 0% 
INFO mapreduce.Job: map 6% reduce 0% 
INFO mapreduce.Job: map 7% reduce 0% 

...

不過,我只注意到進度轉向回滾(秋季從像7%至1%)。

INFO mapreduce.Job: map 4% reduce 0% 
INFO mapreduce.Job: map 5% reduce 0% 
INFO mapreduce.Job: map 6% reduce 0% 
INFO mapreduce.Job: map 7% reduce 0% 
INFO mapreduce.Job: map 6% reduce 0% 
INFO mapreduce.Job: map 5% reduce 0% 
INFO mapreduce.Job: map 4% reduce 0% 
INFO mapreduce.Job: map 3% reduce 0% 

....

當我測試像3G數據,結果是正確的,過程很順利,有沒有這樣的情況出現。

有誰能告訴我爲什麼發生這種情況?

最好。

回答

1

顯示的作業進度是由NodeManagers報告的作業已完成和正在進行的任務的統一狀態。

工作進度的沖銷表明NodeManager已崩潰,或者很少向ResourceManager發送檢測信號和任務狀態。在這兩種情況下,RM認爲它是NM失敗,並且使NM針對特定的不完整工作報告的所有任務進度無效。 ApplicationMaster重新運行成功完成的任務和崩潰前運行的任務。因此,失敗的NM對工作進展的貢獻變得無效,工作進度得到重新計算。

這裏,輸入量較大可能導致OOM錯誤或任務超時。默認情況下,mapreduce.task.timeout是600ms(10分鐘)。如果任務在超時期限內未顯示任何進度,則任務將失敗。單個作業的多個故障(默認爲3個)會將NM列入黑名單,並重新計算進度。 Nodemanager日誌將提供更多的清晰度。

+1

嗨@franklinsijo,最後,我重置地圖並減少內存以克服這種情況。 –