Hadoop YARN 架構(gòu)詳解

通過(guò)對(duì)Hadoop1.0和2.0的架構(gòu)對(duì)比,引出了YARN作為資源調(diào)度和管理器的作用弧哎。

1搬男、YARN產(chǎn)生的背景

YARN是MRv1基礎(chǔ)上演化而來(lái)的钞它,克服了MRv1中的各種局限性募谎。在正式的介紹YARN之前扶关,我們先要了解MRv1的一些局限性阴汇,這可概括為以下幾個(gè)方面:

  • 擴(kuò)展性差:在MRv1中数冬,JobTracker同時(shí)兼?zhèn)淞速Y源管理和作業(yè)控制兩個(gè)功能,這個(gè)成為系統(tǒng)的一個(gè)最大瓶頸搀庶,嚴(yán)重制約了Hadoop集群的擴(kuò)展性拐纱。
  • 可靠性差:MRv1采用的master/slaver結(jié)構(gòu),其中master節(jié)點(diǎn)存在單點(diǎn)故障問(wèn)題哥倔,一旦它出現(xiàn)故障將導(dǎo)致整個(gè)集群不可用秸架。
  • 資源利用率低:MRv1采用了基于槽位的資源分配模型,槽位是一種粗粒度的資源劃分單位咆蒿,通常一個(gè)任務(wù)不會(huì)用完槽位對(duì)應(yīng)的資源东抹,且其他任務(wù)也無(wú)法使用這些空閑資源。此外沃测,Hadoop將槽位分為Map Slot和Reduce Slot兩種缭黔,且不允許它們之間共享,常常會(huì)導(dǎo)致一種槽位資源緊張而另一種閑置(比如一個(gè)作業(yè)剛剛提交時(shí)蒂破,只會(huì)運(yùn)行Map Task馏谨,此時(shí)Reduce Slot閑置)。
  • 無(wú)法支持多種計(jì)算框架附迷。

2惧互、什么是YARN?

YARN實(shí)際上是一個(gè)彈性計(jì)算平臺(tái)喇伯,它的目標(biāo)已經(jīng)不再局限于支持MapReduce一種計(jì)算框架了喊儡,而是朝著對(duì)多種框架進(jìn)行統(tǒng)一管理的方向發(fā)展。YARN的基本思想是將資源管理和作業(yè)調(diào)度/監(jiān)視的功能拆分為單獨(dú)的守護(hù)程序稻据。 擁有一個(gè)全局的ResourceManager(RM)和每個(gè)應(yīng)用程序的ApplicationMaster(AM)艾猜。 應(yīng)用程序可以是單個(gè)作業(yè),也可以是作業(yè)的DAG。

image-20191117175429041
image-20191117175447804

3箩朴、YARN的作用是什么岗喉?

3.1、Hadoop v1.0的方式

在Hadoop v1.0的框架中炸庞,對(duì)數(shù)據(jù)的處理钱床、資源調(diào)度主要依賴(lài)MapReduce完成,具體過(guò)程如下所示:

image-20191117175531487

從以上圖中埠居,我們可以了解到Hadoop v1.0的數(shù)據(jù)處理方式查牌。在小規(guī)模的數(shù)據(jù)處理過(guò)程中,這套方法沒(méi)有太大問(wèn)題滥壕。但是纸颜,在真實(shí)的場(chǎng)景中往往需要處理大量數(shù)據(jù),這套方法便會(huì)遇到以下問(wèn)題:

  • 由于大量的數(shù)據(jù)處理Job提交給Job Tracker绎橘,且Job Tracker需要協(xié)調(diào)的Data Node可能有數(shù)千臺(tái)胁孙,Job Tracker極易成為整個(gè)系統(tǒng)的性能、可用的瓶頸称鳞。
  • 無(wú)法有效地調(diào)配資源涮较,導(dǎo)致資源分配不均。如以下例子冈止,假設(shè)有3臺(tái)Data Node(DN)狂票,每個(gè)DN的內(nèi)存為4GB。用戶(hù)提交了6個(gè)Job熙暴,每個(gè)Job需要1GB內(nèi)存進(jìn)行處理闺属,且數(shù)據(jù)均在DN2上。由于DN2只有4GB內(nèi)存周霉,所以Job1-4在DN2上運(yùn)行掂器,Job5和6則在排隊(duì)等待。但是诗眨,此時(shí)DN1和3均在閑置的狀態(tài)下唉匾,而未能有效的被利用。
image-20191117175553600

3.2匠楚、YARN的方式

基于上述問(wèn)題巍膘,Hadoop在2.0版本上推出了YARN (Yet Another Resource Negotiator)。YARN的核心思想是將資源管理和Job的調(diào)度/監(jiān)控進(jìn)行分離芋簿。YARN的架構(gòu)如下圖所示峡懈。

image-20191117175612400
image-20191117175634723

YARN的核心組件可以分為兩大部分:

全局組件

  • Resource Manager(RM): 作為全局統(tǒng)一的資源管理、調(diào)度与斤、分配肪康。Resource Manager由Scheduler(調(diào)度器:本質(zhì)上是一種策略)和Applicatio Manager(應(yīng)用程序管理器荚恶,ASM:負(fù)責(zé)管理Client用戶(hù)提交的應(yīng)用)組成。Scheduler根據(jù)節(jié)點(diǎn)的容量磷支、隊(duì)列情況谒撼,為Application分配資源;Application Manager接受用戶(hù)提交的請(qǐng)求雾狈,在節(jié)點(diǎn)中啟動(dòng)Application Master廓潜,并監(jiān)控Application Master的狀態(tài)、進(jìn)行必要的重啟善榛。
  • Node Manager(NM): 在每一個(gè)節(jié)點(diǎn)上都有一個(gè)Node Manager作為代理監(jiān)控節(jié)點(diǎn)的資源使用情況(cpu, memory, disk, network)并向Resource Manager上報(bào)節(jié)點(diǎn)狀態(tài)辩蛋。

Per-applicaiton組件

  • Application Master(AM): 負(fù)責(zé)數(shù)據(jù)處理job的執(zhí)行調(diào)度。Application Master與Resource Manager進(jìn)行溝通移盆,獲取資源進(jìn)行計(jì)算悼院。得到資源后,與節(jié)點(diǎn)上的Node Manager進(jìn)行溝通咒循,在分配的Container匯總執(zhí)行任務(wù)据途,并監(jiān)控任務(wù)執(zhí)行的情況。(每當(dāng) Client 提交一個(gè) Application 時(shí)候剑鞍,就會(huì)新建一個(gè) ApplicationMaster 昨凡。由這個(gè) ApplicationMaster 去與 ResourceManager 申請(qǐng)容器資源爽醋,獲得資源后會(huì)將要運(yùn)行的程序發(fā)送到容器上啟動(dòng)蚁署,然后進(jìn)行分布式計(jì)算。)
  • Container: 資源的一種抽象方式蚂四,它封裝了某個(gè)節(jié)點(diǎn)上的多維度資源光戈,如內(nèi)存、CPU饺律、磁盤(pán)步做、網(wǎng)絡(luò)等窒升,當(dāng)Application Master向Resource Manager申請(qǐng)資源時(shí),Resource Manager為Application Master返回的資源便是Container筷弦。

當(dāng)YARN接受用戶(hù)提交的Job時(shí),其工作過(guò)程為:

image-20191117175658829

YARN通過(guò)以下方式抑诸,解決了上述問(wèn)題烂琴。

  • 通過(guò)Application Master來(lái)解決Job Tracker的瓶頸問(wèn)題。每當(dāng)新的job提交進(jìn)來(lái)后蜕乡,Resource Manager會(huì)在恰當(dāng)?shù)墓?jié)點(diǎn)啟動(dòng)一個(gè)新的Application Master奸绷,從而避免在Hadoop v1.0中Job Tracker成為性能瓶頸的尷尬。
  • 更有效的進(jìn)行資源的調(diào)度层玲。Resource Manager可以為Application Master分配空余的資源号醉,幫忙Application Master完成任務(wù)反症。
  • 支持MapReduce以外的數(shù)據(jù)處理方式,例如:Spark等畔派。

4铅碍、YARN和其他的資源管理器的對(duì)比

即便Hadoop v2.0應(yīng)用來(lái)YARN的設(shè)計(jì)思路,也仍有一個(gè)難題:當(dāng)大量的job提交线椰、用盡所有計(jì)算資源后该酗,新的job要等待很久才能被處理,即便新的job是非常重要的任務(wù)士嚎,也只能等待呜魄。在YARN中,通過(guò)scheduler plugin(例如:FIFO Scheduler莱衩、Fair Scheduler爵嗅、Capacity Scheduler)的方式,配置不同的資源調(diào)度規(guī)則笨蚁,來(lái)盡量緩解該問(wèn)題睹晒,讓重要的job可以?xún)?yōu)先獲得資源調(diào)配。

5括细、參考資料

http://www.reibang.com/p/952d59b7cbe7

https://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/YARN.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末伪很,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子奋单,更是在濱河造成了極大的恐慌锉试,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,820評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件览濒,死亡現(xiàn)場(chǎng)離奇詭異呆盖,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)贷笛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)应又,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人乏苦,你說(shuō)我怎么就攤上這事株扛。” “怎么了汇荐?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,324評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵洞就,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我拢驾,道長(zhǎng)奖磁,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,714評(píng)論 1 297
  • 正文 為了忘掉前任繁疤,我火速辦了婚禮咖为,結(jié)果婚禮上秕狰,老公的妹妹穿的比我還像新娘。我一直安慰自己躁染,他們只是感情好鸣哀,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,724評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著吞彤,像睡著了一般我衬。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上饰恕,一...
    開(kāi)封第一講書(shū)人閱讀 52,328評(píng)論 1 310
  • 那天挠羔,我揣著相機(jī)與錄音,去河邊找鬼埋嵌。 笑死破加,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的雹嗦。 我是一名探鬼主播范舀,決...
    沈念sama閱讀 40,897評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼了罪!你這毒婦竟也來(lái)了锭环?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,804評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤泊藕,失蹤者是張志新(化名)和其女友劉穎辅辩,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體吱七,經(jīng)...
    沈念sama閱讀 46,345評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡汽久,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,431評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了踊餐。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,561評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡臀稚,死狀恐怖吝岭,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情吧寺,我是刑警寧澤窜管,帶...
    沈念sama閱讀 36,238評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站稚机,受9級(jí)特大地震影響幕帆,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜赖条,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,928評(píng)論 3 334
  • 文/蒙蒙 一失乾、第九天 我趴在偏房一處隱蔽的房頂上張望常熙。 院中可真熱鬧,春花似錦碱茁、人聲如沸裸卫。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,417評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)墓贿。三九已至,卻和暖如春蜓氨,著一層夾襖步出監(jiān)牢的瞬間聋袋,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,528評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工穴吹, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留舱馅,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,983評(píng)論 3 376
  • 正文 我出身青樓刀荒,卻偏偏與公主長(zhǎng)得像代嗤,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子缠借,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,573評(píng)論 2 359

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