客戶端/用戶將請求提交給JobTracker。 JobTracker是一個駐留在名稱節點中的軟件。
JobTracker是一個守護進程,它可以駐留在名稱節點以外的其他機器上。
JobTracker將作業分成小的子問題並提供給TaskTracker。
JobTracker將MapReduce任務分配給羣集中的特定節點,理想情況下具有該數據的節點或至少位於同一個機架中。
TaskTracker是駐留在數據節點中的軟件。 TaskTracker可能會再次執行,導致多級樹形結構。
通常是的。 TaskTracker可以獨立運行,但它確實需要一個datanode來處理。
映射步驟只發生在JobTracker而不是JobTracker中?
地圖任務由TaskTracker共同
洗牌推出和排序發生。此步驟是在Mapper步驟還是Reducer步驟中進行的?
亂序和排序過程實際上是在映射階段和縮小階段之間。但它們只與縮小階段有關。沒有減少階段洗牌和排序不會發生。所以,我們可以說 - Reducer有三個主要階段:洗牌,分類和減少。
洗牌和排序的輸出被送入Reducer步驟?
在洗牌和排序中,框架通過HTTP獲取所有映射器輸出的相關分區。 Reducer的輸入是映射器的排序輸出。
減速器步驟只發生在JobTracker而不發生在TaskTracker中嗎?
減少任務由TaskTracker啓動。
減速器步驟即JobTracker而非TaskTracker組合數據並將輸出提供給客戶端/用戶。
減少任務是應該在幾個節點並行運行並將結果發送到HDFS。如果你喜歡,你可以讀取來自不同Reducer的最終數據集的輸出數據,並將它們結合到MapReduce驅動程序中。
只有1個縮小器用於組合結果?
這取決於你想要做什麼。但是,如果您需要在單個reduce任務中處理大量數據,那麼由於缺乏並行性,執行單個reduce任務肯定會降低性能。
這個樣式問題真的很難在stackoverflow上回答。此外,幾乎每一行都是錯誤的......所以不確定你從哪裏得出這些假設。 –