您好,登錄后才能下訂單哦!
Hadoop上Data Locality的詳解
Hadoop上的Data Locality是指數據與Mapper任務運行時數據的距離接近程度(Data Locality in Hadoop refers to the“proximity” of the data with respect to the Mapper tasks working on the data.)
1. why data locality is imporant?
當數據集存儲在HDFS中時,它被劃分為塊并存儲在Hadoop集群中的DataNode上。當在數據集執行MapReduce作業時,各個Mappers將處理這些塊(輸進行入分片處理)。如果Mapper不能從它執行的節點上獲取數據,數據需要通過網絡從具有這些數據的DataNode拷貝到執行Mapper任務的節點上(the data needs to be copied over the network from the DataNode which has the data to the DataNode which is executing the Mapper task)。假設一個MapReduce作業具有超過1000個Mapper,在同一時間每一個Mapper都試著去從集群上另一個DataNode節點上拷貝數據,這將導致嚴重的網絡阻塞,因為所有的Mapper都嘗試在同一時間拷貝數據(這不是一種理想的方法)。因此,將計算任務移動到更接近數據的節點上是一種更有效與廉價的方法,相比于將數據移動到更接近計算任務的節點上(it is always effective and cheap to move the computation closer to the data than to move the data closer to the computation)。
2. How is data proximity defined?
當JobTracker(MRv1)或ApplicationMaster(MRv2)接收到運行作業的請求時,它查看集群中的哪些節點有足夠的資源來執行該作業的Mappers和Reducers。同時需要根據Mapper運行數據所處位置來考慮決定每個Mapper執行的節點(serious consideration is made to decide on which nodes the individual Mappers will be executed based on where the data for the Mapper is located)。
3. Data Local
當數據所處的節點與Mapper執行的節點是同一節點,我們稱之為Data Local。在這種情況下,數據的接近度更接近計算( In this case the proximity of the data is closer to the computation.)。JobTracker(MRv1)或ApplicationMaster(MRv2)首選具有Mapper所需要數據的節點來執行Mapper。
4. Rack Local
雖然Data Local是理想的選擇,但由于受限于集群上的資源,并不總是在與數據同一節點上執行Mapper(Although Data Local is the ideal choice, it is not always possible to execute the Mapper on the same node as the data due to resource constraints on a busy cluster)。在這種情況下,優選地選擇在那些與數據節點在同一機架上的不同節點上運行Mapper( In such instances it is preferred to run the Mapper on a different node but on the same rack as the node which has the data.)。在這種情況下,數據將在節點之間進行移動,從具有數據的節點移動到在同一機架上執行Mapper的節點,這種情況我們稱之為Rack Local。
5. Different Rack
在繁忙的群集中,有時Rack Local也不可能。在這種情況下,選擇不同機架上的節點來執行Mapper,并且將數據從具有數據的節點復制到在不同機架上執行Mapper的節點。這是最不可取的情況。
如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。