2016-01-12 427 views
0

假設有3個從節點和一個複製因子爲2的主節點的hadoop集羣。進一步假設文件F被分成3個塊A,B和C,它們的存儲方式如下: 從站1:A,B 從站2:A,C 從站3:B,CHadoop MapReduce負載平衡

另外,假設你踢地圖reduce作業來計算F中的字數並且每個塊被拆分3倍。

我的問題是如何分佈映射器,以便他們優化最大生產力?一種可能性: 從1:3映射器對一個 從工作2:3的製圖員可以基於C 從3工作:3映射器第B

但如何Hadoop的避免以下工作? 從1:6映射器(第B 3 A,3) 從屬2:空閒 從3:3映射器基於C

回答

0

地圖縮小執行是由YARN控制從Hadoop的2開始,其中有將是資源管理器(主)節點管理器(在每個從屬)節點管理器會將其服務器上的每個服務器上的內存,CPU等使用情況發送至資源管理器,作爲心跳的一部分。

現在,當提交作業時,客戶端將與交談資源管理器並創建應用程序主文件夾。 Application Master將根據羣集的使用情況創建,Resource Manager將使用來自節點管理器的信息進行呼叫。

一旦申請碩士是創建它會跟的Namenode讓您的輸入,並與節點管理器相關了解集羣的使用塊位置。在空閒羣集中,每個從機運行一個映射器以處理相應塊的概率很高。但在高度使用的羣集中不能保證,一個節點可能處理所有3個塊,而其他節點正在做其他一些工作。

默認映射器數量將與相同塊數。 mappers的數量由分割大小決定,它等於塊大小。您可以重置分割大小以使用更多映射器來處理您的數據。但是,負載平衡將根據羣集中的使用情況完成。它可以在A上運行3個映射器,在B上運行3個映射器,在C上或其他任何組合上都不映射映射器。