當我檢查Hadoop GUI時,發現某些reduce任務已達到66.66%,並且他們在那裏呆了很長時間。當我查看櫃檯時,我發現沒有。的輸入記錄顯示爲零。Reducer節點需要很長時間才能收到其記錄
經過很長時間,他們得到他們的輸入記錄,開始處理它們。 一些顯示0輸入記錄甚至更長的時間,並被任務嘗試失敗報告600毫秒的狀態。
但是,一些減速器立即在其計數器中顯示輸入記錄,並立即開始處理它們。
我不知道,爲什麼在獲取某些reducer的輸入記錄方面有這麼多延遲。這隻發生在這個程序中,而不是其他程序。
在這個mapreduce作業中,我在reduce的reduce方法之前的configure方法中,從分佈式緩存中讀取了很多數據。這是原因嗎?我不確定。
減速機停在哪個階段?您可以發佈有問題的TaskTracker節點的堆棧跟蹤的最後幾行嗎? – 2013-03-16 17:05:06
嘗試記錄您的配置方法以查看時間。另請注意,只要最後一個映射器完成,一些長時間運行的映射器可能會導致減速器卡住: 其洗牌階段將持續。 – 2013-03-16 17:21:24
感謝您的評論。我將記錄配置方法以查看時間。 – 2013-03-17 00:29:45