Yarn框架深入理解

我們都知道Hadoop誕生的目標是為了支持十幾臺機器的搜索服務(wù)严里,但是隨著數(shù)據(jù)的增加燕偶,數(shù)據(jù)的可用性也是一個待解決的問題缝龄。但是Hadoop框架的自身問題限制了集群的發(fā)展寨闹。

首先是胶坠,JobTracker和NameNode的單點問題,嚴重制約了集群的擴展和可靠性繁堡。


360截圖17901125366259.png

其次我們通過:

知道沈善。MapReduce采用了基于slot的資源分配模型,slot是一種粗粒度的資源 劃分單位帖蔓,通常一個任務(wù)不會用完槽位對應(yīng)的資源矮瘟,且其他任務(wù)也無法使用這些空閑資源,同時map的槽位和reduce的槽位是不可以通用的。會導(dǎo)致部分資源緊張塑娇,部分資源空閑澈侠。

360截圖17571120483156.png

同時為了滿足在線計算等新的計算框架,MapReduce這種離線計算框架已經(jīng)不能滿足需求埋酬。

Yarn框架

JobTracker在 YARN 中JobTracker大約分成了 3 塊:

  • 一部分是 ResourceManager哨啃,負責(zé) Scheduler 及
    ApplicationsManager烧栋;
  • 一部分是 ApplicationMaster,負責(zé) job 的生命周期管理拳球;
  • 最后一部分是 JobHistroyServer审姓,負責(zé)日志的展
    示。
    為了支持更多的計算模型祝峻,把以前的 TaskTracker 替換成了 NodeManager魔吐。NodeManager 管理各種各樣的 container。Container
    才是真正干活的莱找。計算模型相關(guān)的事情可以放在 NodeManager 的一個擴展服務(wù)中酬姆,如 MAP-REDUCE 的 shuffle。
360截圖17970216102332.png

各大模塊分析

ResourceManager

RM 是一個全局的資源管理器奥溺,負責(zé)整個系統(tǒng)的資源管理和分配,包括 scheduler 和 Application Manager, NM Manager

對調(diào)度器來說辞色,YARN 提供了多種直接可用的調(diào)度器, Fair Scheduler 和 Capacity Scheduler 等浮定。調(diào)度器僅根據(jù)各個應(yīng)用程序的資源需 求進行資源分配,分配的基本單位是Container,而容器里面是將內(nèi)存相满,CPU,網(wǎng)絡(luò)桦卒,磁盤封裝到一起立美。

同時用戶也可設(shè)計自己的調(diào)度器。

ApplicationMaster

對應(yīng)用程序管理器來說方灾,悯辙,包括應(yīng)用程序提交、與調(diào)度器協(xié)商 資源以啟動 ApplicationMaster迎吵、監(jiān)控 ApplicationMaster 運行狀態(tài)并在失敗時重新啟動它等。用戶提交的每個應(yīng)用程序均包含一個 ApplicationMaster,ApplicationMaster可以與RM協(xié)商獲取資源针贬,也可以將得到的任務(wù)進行再分配击费,與NM通信,同時可以監(jiān)控所有的任務(wù)狀態(tài)桦他。

NodeManager

NodeManager 管理 container蔫巩、資源下載、健康檢測后匯報 對節(jié)點管理器來說快压,NM是每個節(jié)點上的資源和任務(wù)管理器圆仔,一方面,它會定時地向 RM 匯報本節(jié)點上的 資源使用情況和各個 Container 的運行狀態(tài)蔫劣;另一方面坪郭,它接收并處理來自 AM 的 Container 啟動 / 停止等各種請求。

Container

Container 是 YARN 中的資源抽象脉幢,它封裝了某個節(jié)點上的多維度資源歪沃,如內(nèi)存嗦锐、 CPU、磁盤沪曙、網(wǎng)絡(luò)等奕污,當(dāng) AM 向 RM 申請資源時,RM 為 AM 返回的資源便是用 Container 表示的液走。YARN 會為每個任務(wù)分配一個 Container碳默,且該任務(wù)只能使用該 Container 中描述的 資源。容器是一個動態(tài)劃分資源缘眶。

Jobhistory 機制

在 MRv1 中嘱根,JobHistroy server 是嵌入在 Jobtracker 中的,當(dāng)有大量的查詢 時磅崭,對 Jobtracker 造成很大的壓力.Yarn中實現(xiàn)一套單獨的 JobHistroy server 服務(wù)儿子。AggregatedLogDeletionService:日志文件的 管理。 ? HistoryClientService:提供一些服務(wù)供 JobClient 查詢砸喻。

Yarn工作流程

360截圖162501015810976.png
  • 1.用戶向 YARN 中提交應(yīng)用程序柔逼,其中包括 ApplicationMaster 程序、啟動 ApplicationMaster 的命令割岛、用戶程序等愉适。
  • 2.ResourceManager 為該應(yīng)用程序分配第一個 Container,并與對應(yīng)的 NodeManager 通信癣漆,要求它在這個 Container 中啟動應(yīng)用程序的 ApplicationMaster维咸。
  • 3 ApplicationMaster 首先向 ResourceManager 注冊,這樣用戶可以直接通過 ResourceManage 查看應(yīng)用程序的運行狀態(tài)惠爽,然后它將為各個任務(wù)申請資源癌蓖,并監(jiān)控它的運 行狀態(tài),直到運行結(jié)束婚肆,即重復(fù)步驟 4~7租副。
  • 4 ApplicationMaster 采用輪詢的方式通過 RPC 協(xié)議向 ResourceManager 申請和 領(lǐng)取資源。 步驟
  • 5. 一旦 ApplicationMaster 申請到資源后较性,便與對應(yīng)的 NodeManager 通信用僧,要求 它啟動任務(wù)。
  • 6. NodeManager 為任務(wù)設(shè)置好運行環(huán)境(包括環(huán)境變量赞咙、JAR 包责循、二進制程序 等)后,將任務(wù)啟動命令寫到一個腳本中攀操,并通過運行該腳本啟動任務(wù)院仿。
  • 7. 各個任務(wù)通過某個 RPC 協(xié)議向 ApplicationMaster 匯報自己的狀態(tài)和進度,以 讓 ApplicationMaster 隨時掌握各個任務(wù)的運行狀態(tài)速和,從而可以在任務(wù)失敗時重新啟動任務(wù)意蛀。 在應(yīng)用程序運行過程中耸别,用戶可隨時通過 RPC 向 ApplicationMaster 查詢應(yīng)用程序的當(dāng) 前運行狀態(tài)。
  • 8. 應(yīng)用程序運行完成后县钥, ApplicationMaster 向 ResourceManager 注銷并關(guān)閉自己秀姐。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市若贮,隨后出現(xiàn)的幾起案子省有,更是在濱河造成了極大的恐慌,老刑警劉巖谴麦,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蠢沿,死亡現(xiàn)場離奇詭異,居然都是意外死亡匾效,警方通過查閱死者的電腦和手機舷蟀,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來面哼,“玉大人野宜,你說我怎么就攤上這事∧Р撸” “怎么了匈子?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長闯袒。 經(jīng)常有香客問我虎敦,道長,這世上最難降的妖魔是什么政敢? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任其徙,我火速辦了婚禮,結(jié)果婚禮上喷户,老公的妹妹穿的比我還像新娘擂橘。我一直安慰自己,他們只是感情好摩骨,可當(dāng)我...
    茶點故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著朗若,像睡著了一般恼五。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上哭懈,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天灾馒,我揣著相機與錄音,去河邊找鬼遣总。 笑死睬罗,一個胖子當(dāng)著我的面吹牛轨功,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播容达,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼古涧,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了花盐?” 一聲冷哼從身側(cè)響起羡滑,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎算芯,沒想到半個月后柒昏,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡熙揍,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年职祷,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片届囚。...
    茶點故事閱讀 38,814評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡有梆,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出奖亚,到底是詐尸還是另有隱情淳梦,我是刑警寧澤,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布昔字,位于F島的核電站爆袍,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏作郭。R本人自食惡果不足惜陨囊,卻給世界環(huán)境...
    茶點故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望夹攒。 院中可真熱鬧蜘醋,春花似錦、人聲如沸咏尝。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽编检。三九已至胎食,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間允懂,已是汗流浹背厕怜。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人粥航。 一個月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓琅捏,卻偏偏與公主長得像,于是被迫代替她去往敵國和親递雀。 傳聞我的和親對象是個殘疾皇子柄延,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,728評論 2 351

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