Yarn簡(jiǎn)介

Yarn在Hadoop中的位置

Yarn在Hadoop中的位置

Yarn的優(yōu)點(diǎn)

  • YARN把JobTracker分為ResouceManager和ApplicationMaster,ResouceManager專管整個(gè)集群的資源管理和調(diào)度独旷,而ApplicationMaster則負(fù)責(zé)應(yīng)用程序的任務(wù)調(diào)度和容錯(cuò)等
  • YARN不再是一個(gè)單純的計(jì)算框架藏古,而是一個(gè)框架管理器豆胸,用戶可以將各種各樣的計(jì)算框架移植到Y(jié)ARN之上,由YARN進(jìn)行統(tǒng)一管理和資源分配
  • 對(duì)于資源的表示以內(nèi)存和CPU為單位,比之前slot 更合理(slot是 Hadoop的資源單位,Hadoop利用slots來(lái)管理分配節(jié)點(diǎn)的資源桨螺。每個(gè)Job申請(qǐng)資源以slots為單位)hadoop中slot簡(jiǎn)介(map slot 和 reduce slot)

Yarn架構(gòu)

Yarn運(yùn)行機(jī)制1

YARN主要由ResouceManager、NodeManager酿秸、ApplicationMasterContainer等4個(gè)組件構(gòu)成

ResourceManager :

處理客戶端請(qǐng)求
啟動(dòng)和監(jiān)控ApplicationMaster
監(jiān)控NodeManager
資源的分配與調(diào)度

NodeManager:

管理單個(gè)節(jié)點(diǎn)上的資源
處理來(lái)自ResourceManager的命令
處理來(lái)自ApplicationMaster的命令

ApplicationMaster:

為應(yīng)用程序申請(qǐng)資源并分配給內(nèi)部的任務(wù)
任務(wù)的監(jiān)控與容錯(cuò)

Container:

對(duì)任務(wù)運(yùn)行環(huán)境進(jìn)行抽象灭翔,封裝CPU、內(nèi)存等資源

MapRuduce在Yarn中的工作機(jī)制

Yarn運(yùn)行機(jī)制2
Yarn運(yùn)行機(jī)制3

1)客戶端向resourcemanager發(fā)送job請(qǐng)求允扇,客戶端產(chǎn)生Runjar進(jìn)程與resourcemanager通過(guò)rpc通信

2)resourcemanager向客戶端 回Job相關(guān)資源的提交路徑以以及jobID

3)客戶端將Job相關(guān)的資源提交到相應(yīng)的共享文件系統(tǒng)的路徑下(eg.HDFS)

4)客戶端向resourcemanager提交job

5)resourcemanager通過(guò)調(diào)度器在nodemanager創(chuàng)建一個(gè)容器缠局,并在容器中啟用 MRAppMaster進(jìn)程(該進(jìn)程由resourcemanager啟動(dòng))。

6)該MRAppMaster進(jìn)程對(duì)作業(yè)進(jìn)行初始化考润,創(chuàng)建多個(gè)對(duì)象對(duì)作業(yè)進(jìn)行跟蹤狭园。

7)MRAppMaster從共享文件系統(tǒng)中獲得計(jì)算到的輸入分片(只獲取分片信息,不需要jar等相關(guān)資源)糊治,為每一個(gè)分片創(chuàng)建一個(gè)map以及指定數(shù)量的reduce對(duì)象唱矛。之后 MRAppMaster決定如何運(yùn)行構(gòu)成mapreduce作業(yè)的各個(gè)任務(wù),如果作業(yè)很小井辜,則與 MRAppMaster在同一個(gè)JVM上運(yùn)行

8)若作業(yè)很大绎谦,則MRAppMaster會(huì)為所有map任務(wù)和reduce任務(wù)向resourcemanager發(fā)起申請(qǐng)容器資源請(qǐng)求。請(qǐng)求中包含了map任務(wù)的數(shù)據(jù)本地化信息以及輸入分片等信息粥脚。

9)Resourcemanager為任務(wù)分配了容器之后窃肠,MRAppMaster就通過(guò)與NodeManager通信啟動(dòng)容器,由MRAppMaster負(fù)責(zé)分配在那些nodemanager上運(yùn)行map(即 YarnChild進(jìn)程)和reduce任務(wù)刷允。

10)運(yùn)行map和reduce任務(wù)的nodemanager從系統(tǒng)中獲取job相關(guān)資源冤留,包括 jar文件,配置文件等树灶。

11)運(yùn)行map和reduce任條纤怒。

12)關(guān)于狀態(tài)的檢測(cè)與更新不經(jīng)過(guò)resourcemanager:任務(wù)周期性的向MRAppMaster匯報(bào)狀態(tài)及進(jìn)度,客戶端每秒鐘通過(guò)查詢一次MRAppMaster獲取狀態(tài)更新信息天通。

注意:http://dongxicheng.org/mapreduce-nextgen/yarnmrv2-resource-manager-resource-manager/

1.由于resourcemanager負(fù)責(zé)資源的分配泊窘,當(dāng)NodeManager啟動(dòng)時(shí),會(huì)向 ResourceManager注冊(cè)像寒,而注冊(cè)信息中會(huì)包含該節(jié)點(diǎn)可分配的CPU和內(nèi)存總量

2.YARN的資源分配過(guò)程是異步的烘豹,也就是說(shuō),資源調(diào)度器將資源分配給一個(gè)application后诺祸,不會(huì)立刻push給對(duì)應(yīng)的ApplicaitonMaster吴叶,而是暫時(shí)放到一個(gè)緩沖區(qū)中,等待 ApplicationMaster通過(guò)周期性的RPC函數(shù)主動(dòng)來(lái)取序臂。

容錯(cuò)

RM:HA方案避免單點(diǎn)故障
AM:AM向RM周期性發(fā)送心跳,出故障后RM會(huì)啟動(dòng)新的AM,受最大失敗次數(shù)限制
NM:周期性RM發(fā)送心跳奥秆,如果一定時(shí)間內(nèi)沒(méi)有發(fā)送逊彭,RM 就認(rèn)為該NM 掛掉了,或者NM上運(yùn)行的Task失敗次數(shù)太多构订,就會(huì)把上面所有任務(wù)調(diào)度到其它NM上
Task:Task也可能運(yùn)行掛掉侮叮,比如內(nèi)存超出了或者磁盤掛掉了,NM會(huì)匯報(bào)AM悼瘾,AM會(huì)把該Task調(diào)度到其它節(jié)點(diǎn)上囊榜,但受到重試次數(shù)的限制

資源調(diào)度和資源隔離機(jī)制

資源調(diào)度由ResourceManager完成,而資源隔離由各個(gè)NodeManager實(shí)現(xiàn)亥宿。

資源管理由ResourceManager和NodeManager共同完成卸勺,其中,ResourceManager中的調(diào)度器負(fù)責(zé)資源的分配烫扼,而NodeManager則負(fù)責(zé)資源的供給和隔離曙求,ResourceManager將NodeManager上資源分配給任務(wù)后,NodeManager需按照要求為任務(wù)提供相應(yīng)的資源映企,甚至保證這些資源應(yīng)具有獨(dú)占性悟狱,為任務(wù)運(yùn)行提供基礎(chǔ)的保證,這就是所謂的資源隔離堰氓。

Yarn中同時(shí)支持內(nèi)存和CPU兩種資源的調(diào)度(默認(rèn)是支持內(nèi)存的)
內(nèi)存資源調(diào)度:
采用進(jìn)程監(jiān)控的方案挤渐,為每一個(gè)NodeManager啟動(dòng)一個(gè)監(jiān)控線程監(jiān)控每個(gè)container內(nèi)存使用情況,一旦發(fā)現(xiàn)超過(guò)約定的資源量双絮,則會(huì)將其殺死浴麻。

默認(rèn)情況下,NodeManager不會(huì)對(duì)CPU資源進(jìn)行任務(wù)隔離掷邦,你可以通過(guò)啟用CGroup來(lái)支持CPU隔離白胀。
CPU資源按照百分比進(jìn)行使用和隔離。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末抚岗,一起剝皮案震驚了整個(gè)濱河市或杠,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌宣蔚,老刑警劉巖向抢,帶你破解...
    沈念sama閱讀 219,366評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異胚委,居然都是意外死亡挟鸠,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門亩冬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)艘希,“玉大人硼身,你說(shuō)我怎么就攤上這事「蚕恚” “怎么了佳遂?”我有些...
    開封第一講書人閱讀 165,689評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)撒顿。 經(jīng)常有香客問(wèn)我丑罪,道長(zhǎng),這世上最難降的妖魔是什么凤壁? 我笑而不...
    開封第一講書人閱讀 58,925評(píng)論 1 295
  • 正文 為了忘掉前任吩屹,我火速辦了婚禮,結(jié)果婚禮上拧抖,老公的妹妹穿的比我還像新娘煤搜。我一直安慰自己,他們只是感情好徙鱼,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,942評(píng)論 6 392
  • 文/花漫 我一把揭開白布宅楞。 她就那樣靜靜地躺著,像睡著了一般袱吆。 火紅的嫁衣襯著肌膚如雪厌衙。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,727評(píng)論 1 305
  • 那天绞绒,我揣著相機(jī)與錄音婶希,去河邊找鬼。 笑死蓬衡,一個(gè)胖子當(dāng)著我的面吹牛喻杈,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播狰晚,決...
    沈念sama閱讀 40,447評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼筒饰,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了壁晒?” 一聲冷哼從身側(cè)響起瓷们,我...
    開封第一講書人閱讀 39,349評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎秒咐,沒(méi)想到半個(gè)月后谬晕,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,820評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡携取,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,990評(píng)論 3 337
  • 正文 我和宋清朗相戀三年攒钳,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片雷滋。...
    茶點(diǎn)故事閱讀 40,127評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡不撑,死狀恐怖文兢,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情燎孟,我是刑警寧澤禽作,帶...
    沈念sama閱讀 35,812評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站揩页,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏烹俗。R本人自食惡果不足惜爆侣,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,471評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望幢妄。 院中可真熱鬧兔仰,春花似錦、人聲如沸蕉鸳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,017評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)潮尝。三九已至榕吼,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間勉失,已是汗流浹背羹蚣。 一陣腳步聲響...
    開封第一講書人閱讀 33,142評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留乱凿,地道東北人顽素。 一個(gè)月前我還...
    沈念sama閱讀 48,388評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像徒蟆,于是被迫代替她去往敵國(guó)和親胁出。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,066評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容