2015-04-24 50 views
1

我無法獲得以下2個mapreduce作業配置屬性之間的差異。Mapreduce並行副本vs http線程

mapreduce.reduce.shuffle.parallelcopies

mapreduce.tasktracker.http.threads

的mapreduce.reduce.shuffle.parallelcopies是在複製過程中減少由平行轉移的次數(洗牌)階段。

mapreduce.tasktracker.http.threads是http服務器的工作線程數。這用於地圖輸出提取。

parallelcopies表示並行傳輸的數量,我想它會反駁地圖輸出並行傳輸到reducer一次。 http線程表示要在Reducer中運行的http線程的數量來複制映射輸出。

我無法區分這兩個屬性,似乎與我相同,因爲這兩個屬性都與減速器的fetchers數量有關。

請幫助我理解這些屬性的實際意圖以及它們如何提供幫助?

回答

1

下圖給你一個關於mapreduce程序流程的想法。

映射後,節點運行映射任務將通過HTTP線程提供輸出文件,這些線程的數量將由mapreduce.tasktracker.http.threads控制。默認情況下它是40,意味着一個tasktracker將通過40個http線程獲取數據。所以它可以服務於40個減速器(最小),並且它可以高速運轉。

只要數據在地圖側可用,縮減器就會從每個映射器節點複製它們。所以他們不得不從許多節點複製。爲了充分利用所有的系統資源並減少複製中間數據的時間,Reducer將並行執行。這個並行副本的數量受mapreduce.reduce.shuffle.parallelcopies的管轄。默認情況下它是5,所以一個reducer可以從5個地圖輸出並行複製。

enter image description here