Hadoop上Data Locality的詳解
目前累計服務客戶1000多家,積累了豐富的產(chǎn)品開發(fā)及服務經(jīng)驗。以網(wǎng)站設計水平和技術實力,樹立企業(yè)形象,為客戶提供成都網(wǎng)站設計、網(wǎng)站制作、網(wǎng)站策劃、網(wǎng)頁設計、網(wǎng)絡營銷、VI設計、網(wǎng)站改版、漏洞修補等服務。創(chuàng)新互聯(lián)建站始終以務實、誠信為根本,不斷創(chuàng)新和提高建站品質,通過對領先技術的掌握、對創(chuàng)意設計的研究、對客戶形象的視覺傳遞、對應用系統(tǒng)的結合,為客戶提供更好的一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進步。
Hadoop上的Data Locality是指數(shù)據(jù)與Mapper任務運行時數(shù)據(jù)的距離接近程度(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?
當數(shù)據(jù)集存儲在HDFS中時,它被劃分為塊并存儲在Hadoop集群中的DataNode上。當在數(shù)據(jù)集執(zhí)行MapReduce作業(yè)時,各個Mappers將處理這些塊(輸進行入分片處理)。如果Mapper不能從它執(zhí)行的節(jié)點上獲取數(shù)據(jù),數(shù)據(jù)需要通過網(wǎng)絡從具有這些數(shù)據(jù)的DataNode拷貝到執(zhí)行Mapper任務的節(jié)點上(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作業(yè)具有超過1000個Mapper,在同一時間每一個Mapper都試著去從集群上另一個DataNode節(jié)點上拷貝數(shù)據(jù),這將導致嚴重的網(wǎng)絡阻塞,因為所有的Mapper都嘗試在同一時間拷貝數(shù)據(jù)(這不是一種理想的方法)。因此,將計算任務移動到更接近數(shù)據(jù)的節(jié)點上是一種更有效與廉價的方法,相比于將數(shù)據(jù)移動到更接近計算任務的節(jié)點上(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)接收到運行作業(yè)的請求時,它查看集群中的哪些節(jié)點有足夠的資源來執(zhí)行該作業(yè)的Mappers和Reducers。同時需要根據(jù)Mapper運行數(shù)據(jù)所處位置來考慮決定每個Mapper執(zhí)行的節(jié)點(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
當數(shù)據(jù)所處的節(jié)點與Mapper執(zhí)行的節(jié)點是同一節(jié)點,我們稱之為Data Local。在這種情況下,數(shù)據(jù)的接近度更接近計算( In this case the proximity of the data is closer to the computation.)。JobTracker(MRv1)或ApplicationMaster(MRv2)首選具有Mapper所需要數(shù)據(jù)的節(jié)點來執(zhí)行Mapper。
4. Rack Local
雖然Data Local是理想的選擇,但由于受限于集群上的資源,并不總是在與數(shù)據(jù)同一節(jié)點上執(zhí)行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)。在這種情況下,優(yōu)選地選擇在那些與數(shù)據(jù)節(jié)點在同一機架上的不同節(jié)點上運行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.)。在這種情況下,數(shù)據(jù)將在節(jié)點之間進行移動,從具有數(shù)據(jù)的節(jié)點移動到在同一機架上執(zhí)行Mapper的節(jié)點,這種情況我們稱之為Rack Local。
5. Different Rack
在繁忙的群集中,有時Rack Local也不可能。在這種情況下,選擇不同機架上的節(jié)點來執(zhí)行Mapper,并且將數(shù)據(jù)從具有數(shù)據(jù)的節(jié)點復制到在不同機架上執(zhí)行Mapper的節(jié)點。這是最不可取的情況。
如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
本文題目:Hadoop上DataLocality的詳解
本文鏈接:http://chinadenli.net/article36/gdgipg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供標簽優(yōu)化、用戶體驗、電子商務、微信小程序、網(wǎng)站策劃、建站公司
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)