2015-12-02 25 views

回答

0

看一看Yarn tutorial

YARN

當紗線通過檢查資源可用性&如果節點管理器是從那裏數據被存儲的數據節點,數據的不同選擇一個節點管理器地方性概念被打破。在這種情況下,數據將通過網絡從一個節點傳輸到另一個節點。發生此事件的原因:節點管理器繁忙且受CPU &內存要求限制。

假設一個特定的節點管理器已被標識爲Map作業來讀取數據。但是,如果數據跨越多個節點,則應該在節點之間傳輸數據。

Hadoop在Map reduce框架中使用邏輯分割而不是物理分割。輸入分割取決於寫入記錄的位置。

假設一個數據節點中的DFS塊大小爲64 MB。如果由於大小限制,該塊中的最後一條記錄未完全寫入。假定該行的一半已寫入數據節點1(1 MB),剩下的一半寫入數據節點2(在另一個64 MB DFS塊中有1 MB數據)。

在處理Map reduce作業期間,來自數據節點2的數據將通過網絡傳輸以完成邏輯分割。

看看我的帖子,在其他一些SE question,這很好地解釋了輸入拆分過程。

Apache的Map reduce tutorial

多少地圖?

地圖的數量通常由輸入的總大小,即輸入文件的塊的總數驅動。

多少個減速器?

減速機減少了一組中間值,這些中間值共享一個鍵到一組較小的值。作業縮減的數量由用戶通過Job.setNumReduceTasks(int設置)。

假設Mappers輸出已準備就緒。如果Mapper節點& Reducer節點不同,則數據將通過網絡傳輸。 Hadoop框架決定了給定Hadoop作業的映射器數量和多少個reducer。