欧美日本日韩aⅴ在线视频_中文字幕乱码人妻一区二区三区_久久久久青草大香综合精品,_精品久久久久久久精品观看免费_自慰无码免费一区二区三区

新聞中心

首頁 > 新聞中心 > 行業(yè)新聞 >

淺議Hadoop實(shí)現(xiàn)機(jī)制

時(shí)間:2017-11-13 08:28:35   閱讀:

1.分布式并行計(jì)算

  MapReduce框架是由jobTracker和TaskTracker這兩類服務(wù)調(diào)度的。JobTracker是主控服務(wù),只有一個(gè),負(fù)責(zé)調(diào)度和管理TaskTracker,把Map任務(wù)和Reduce任務(wù)分配給空閑的TaskTmcker,讓這些任務(wù)并行運(yùn)行,并負(fù)責(zé)監(jiān)控任務(wù)的運(yùn)行情況。TaskTracker是從服務(wù),可以有多個(gè),負(fù)責(zé)執(zhí)行任務(wù)。如果某個(gè)TaskTracker出故障了,JobTracker會(huì)把其負(fù)責(zé)的任務(wù)分配給其他空閑的TaskTracker重新運(yùn)行。

2.本地計(jì)算

  通常,MapReduce框架和分布式文件系統(tǒng)是運(yùn)行在一組相同的節(jié)點(diǎn)上的,也就是說,計(jì)算節(jié)點(diǎn)和存儲(chǔ)節(jié)點(diǎn)通常在一起。這種配置允許框架在那些存儲(chǔ)數(shù)據(jù)的節(jié)點(diǎn)上高效地調(diào)度任務(wù),這可以使整個(gè)集群的網(wǎng)絡(luò)帶寬被非常髙效地利用。

3.任務(wù)粒度

  對(duì)于小數(shù)據(jù)集,一般小于或等于HDFS中數(shù)據(jù)塊的大小,這使得一個(gè)小數(shù)據(jù)集位于一臺(tái)計(jì)算機(jī)上,有利于計(jì)算的數(shù)據(jù)本地性。一個(gè)小數(shù)據(jù)集啟動(dòng)一個(gè)Map任務(wù),M個(gè)Map任務(wù)可以在臺(tái)計(jì)算機(jī)上并行運(yùn)行,用戶可以指定Reduce任務(wù)的數(shù)量。

4.Combine (連接)

  Combine將Map任務(wù)輸出的中間結(jié)果集中有相同key值的多個(gè)<key,value>組合成一個(gè)<key,list(value)>對(duì)。Combine在執(zhí)行完Map函數(shù)后緊接著執(zhí)行,很多情況下可以直接使用Reduce函數(shù),Combine能減少中間結(jié)果的數(shù)量,從而減少數(shù)據(jù)傳輸中的網(wǎng)絡(luò)流量。

5.Partition (分區(qū))

  Combine之后,把產(chǎn)生的中間結(jié)果按key的范圍劃分成及份(及是預(yù)先定義的Reduce任務(wù)的個(gè)數(shù))。劃分時(shí)通常使用Hash函數(shù),如hash(key)mod R,這樣可以保證某一范圍內(nèi)的key,一定是由一個(gè)Reduce任務(wù)來處理,可以簡(jiǎn)化Reduce的過程。

6.讀取中間結(jié)果

  Map任務(wù)的中間結(jié)果在做完Combine和Partition之后,以文件形式存于本地磁盤。中間結(jié)果文件的位置會(huì)通知主控JobTracker,JobTracker再通知Reduce任務(wù)到哪一個(gè)DataNode上去取中間結(jié)果。注意所有的Map任務(wù)產(chǎn)生中間結(jié)果均按其key用同一個(gè)Hash函數(shù)劃分成了R份,R個(gè)Reduce任務(wù)各自負(fù)責(zé)一段key區(qū)間。每個(gè)Reduce需要向多個(gè)Map任務(wù)節(jié)點(diǎn)取得落在其負(fù)責(zé)的key區(qū)間內(nèi)的中間結(jié)果,然后執(zhí)行Reduce函數(shù),形成一個(gè)最終的結(jié)果文件。

7.任務(wù)管道

  在某些情況下Reduce任務(wù)的輸出結(jié)果并非所需要的最終結(jié)果,這時(shí)可以將這些輸出結(jié)果作為另一個(gè)計(jì)算任務(wù)的輸入開始另一個(gè)MaPReduce計(jì)算任務(wù)。

 

 

?

閩公網(wǎng)安備 35010002000114號(hào)