日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Yarn框架和工作流程研究

發(fā)布時(shí)間:2025/3/14 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Yarn框架和工作流程研究 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一、概述

????將公司集群升級(jí)到Y(jié)arn已經(jīng)有一段時(shí)間,自己也對(duì)Yarn也研究了一段時(shí)間,現(xiàn)在開始記錄一下自己在研究Yarn過程中的一些筆記。這篇blog主要主要從大體上說說Yarn的基本架構(gòu)以及其各個(gè)組件的功能。另外,主要將Yarn和MRv1做詳細(xì)對(duì)比,包括Yarn相對(duì)于MRv1的各種改進(jìn)。最后,大概說說Yarn的工作流情況。

二、Yarn和MRv1對(duì)比

(1)擴(kuò)展性對(duì)比。

????在MRv1中,JobTracker是個(gè)重量級(jí)組件,集中了資源管理分配、作業(yè)控制兩大核心功能,隨著集群規(guī)模的增大,JobTracker處理各種RPC請(qǐng)求負(fù)載過重,這也是系統(tǒng)的最大瓶頸,嚴(yán)重制約了Hadoop集群的擴(kuò)展性。相比之下,Yarn將JobTracker功能進(jìn)行了拆分,拆分為全局組件ResourceManager、應(yīng)用組件ApplicationMaster和JobHistoryServer。其中,ResourceManager負(fù)載整個(gè)系統(tǒng)資源的管理和分配,ApplicationMaster負(fù)載單個(gè)應(yīng)用程序的相關(guān)管理(job的管理),JobHistoryServer負(fù)載日志的展示和收集工作。Yarn的這種功能拆分,將減輕了master節(jié)點(diǎn)的負(fù)載,其處理的RPC請(qǐng)求的壓力得到減少。其實(shí)換句話Yarn是將這種負(fù)載進(jìn)行了橫向轉(zhuǎn)移到子節(jié)點(diǎn),這個(gè)可以通過ApplicationMaster(簡稱APP Mstr)的機(jī)制體現(xiàn),APP Mstr是運(yùn)行在其中一個(gè)子節(jié)點(diǎn),運(yùn)行在其他各個(gè)子節(jié)點(diǎn)的Task只需要向App Mstr發(fā)送相關(guān)的RPC請(qǐng)求來匯報(bào)task運(yùn)行情況就ok,而不需要直接和master節(jié)點(diǎn)的相關(guān)進(jìn)行進(jìn)行RPC通訊。這個(gè)就將MRv1的Master/slave轉(zhuǎn)化為了Master/slave混雜slave/slave的這種結(jié)構(gòu)。

????另外,Hadoop1.x擴(kuò)展性差問題不僅僅體現(xiàn)在MRv1框架中,提體現(xiàn)在HDSF中。Yarn為了解決這個(gè)問題,提出了HDFS Federation,它可以允許集群中啟動(dòng)多個(gè)NameNode來分管不同目錄的元數(shù)據(jù)進(jìn)而實(shí)現(xiàn)了訪問隔離和橫向擴(kuò)展問題,同時(shí)HDFS Federation的提出也徹底解決了hadoop1.x的NameNode單點(diǎn)故障問題。

(2)資源利用率對(duì)比。

????MRv1的資源管理分配模型是基于槽位的,槽位是一個(gè)相當(dāng)粗粒度的系統(tǒng)資源單位,一個(gè)槽位是系統(tǒng)一定cpu、內(nèi)存、網(wǎng)絡(luò)、IO等資源的抽象。一個(gè)Slot只能啟動(dòng)一個(gè)Task,關(guān)鍵的是一個(gè)Task未必用完一個(gè)Slot所對(duì)應(yīng)的系統(tǒng)資源,但是它又占著不給別的Task使用,這就造成了浪費(fèi)。另外,在MRv1中Slot還被分為了Reduce Solt和Map Slot,Reudce solt只能啟動(dòng)Reduce Task,Map Slot只能啟動(dòng)Map Task,這兩種Slot不允許共享,因此常常會(huì)導(dǎo)致一種Slot資源相當(dāng)緊張而另外一種Slot資源卻是空閑的。例如,當(dāng)一個(gè)Job剛剛被提交的時(shí)候,只有當(dāng)Map Task完成數(shù)據(jù)為總數(shù)量的5%(默認(rèn))時(shí),Reduce Task才會(huì)啟動(dòng),那么此時(shí)的Reudce Slot就是被閑置浪費(fèi)了。相比之下,Yarn就克服了上面的問題,Yarn的資源抽象單位container是細(xì)粒度的,而且是動(dòng)態(tài)的(目前Yarn版本中只支持cpu和內(nèi)存的動(dòng)態(tài)分配),他可以為不同的Task需求進(jìn)行分配,而且container是部分種類的,在MRv框架中可以同時(shí)被Map Task和Reduce Task使用。

(3)安全穩(wěn)定性對(duì)比。

????Hadoop1.x對(duì)應(yīng)的HDFS版本中NameNode是存在單點(diǎn)故障的,但是Yarn通過HFDS Federation的提出完美地解決了這個(gè)棘手問題。

(4)基本架構(gòu)特性對(duì)比。

????MRv1是單純地為離線框架Map Reduce打造的,而這種離線計(jì)算機(jī)框架不能滿足現(xiàn)在需求了,一些更有針對(duì)性的框架被開發(fā)出來,如Spark、storm、DAG計(jì)算機(jī)框架Tez。這些新的框架無法運(yùn)行在MRv1上。相比之下,Yarn是一個(gè)獨(dú)立的資源管理系統(tǒng),其資源和計(jì)算機(jī)框架是被分離開來的,你可以在Yarn上同時(shí)運(yùn)行MR APP、Spark APP、MPI APP等等。

三、Yarn基本架構(gòu)以及各個(gè)組件負(fù)責(zé)功能

????Yarn在整體上看還是采用了和Hadoop1.x一樣的Master/Slave結(jié)構(gòu)(橫向擴(kuò)展混雜Slave/Slave結(jié)構(gòu)),在整個(gè)Yarn資源管理系統(tǒng)當(dāng)中,ResourceManager作為Master,各個(gè)節(jié)點(diǎn)的NodeManager作為Slave。各個(gè)節(jié)點(diǎn)上NodeManager的資源由ResourceManager統(tǒng)計(jì)進(jìn)行管理和調(diào)度。當(dāng)應(yīng)用程序提交后,會(huì)有一個(gè)單獨(dú)的Application來對(duì)該應(yīng)用程序進(jìn)行跟蹤和管理,同時(shí)該Application還會(huì)為該應(yīng)用程序想Resource申請(qǐng)資源,并要求NodeManager啟動(dòng)該應(yīng)用程序占用一定資源的任務(wù)。下圖主要以MR和MPI這兩種應(yīng)用來描述Yarn運(yùn)行的基本架構(gòu):

基本組件介紹:

1、ResourceManager

????ResourceManager是Yarn的核心組件,主要由任務(wù)調(diào)度器(YarnScheduler)和應(yīng)用程序管理器(Applications Manager)組成。其主要功能是負(fù)責(zé)系統(tǒng)資源的管理和分配。

  • 任務(wù)調(diào)度器(YarnScheduler)

????任務(wù)調(diào)度器根據(jù)系統(tǒng)資源容量以及管理員對(duì)隊(duì)列的限制條件,按照一定的策略將資源分配給正在運(yùn)行的應(yīng)用程序。相比于Hadoop1.x而言,Yarn為任務(wù)調(diào)度器做了減負(fù),任務(wù)調(diào)度器不再負(fù)責(zé)跟蹤和監(jiān)控應(yīng)用的執(zhí)行狀態(tài),也不負(fù)責(zé)重新啟動(dòng)因?yàn)閼?yīng)用執(zhí)行失敗或者硬件故障而運(yùn)行失敗的任務(wù),這些任務(wù)都有該應(yīng)用程序?qū)?yīng)的ApplicationMaster來負(fù)責(zé)了,這使得YarnScheduler的功能更加純粹。另外,任務(wù)調(diào)度器和Hadoop1.x一樣也是一個(gè)熱插拔模塊,你可以自定義自己的任務(wù)調(diào)度器,同樣你也可以直接使用其他任務(wù)調(diào)度器,如,Fair Scheduler或者Capacity Scheduler。

  • 應(yīng)用程序管理器(Applications Manager)

????應(yīng)用程序管理器,負(fù)責(zé)管理整個(gè)系統(tǒng)中所有應(yīng)用程序,包括應(yīng)用程序提交、向任務(wù)調(diào)度器申請(qǐng)資源啟動(dòng)ApplicationMaster、監(jiān)控ApplicationMaster運(yùn)行狀態(tài)并在失敗時(shí)重新啟動(dòng)它。

  • 其他

????ResourceManager中還包含了其他組件,如ResourceTrackerService用來直接處理心跳,NMLivelinessMonitor用來監(jiān)控NodeManager,NodesListManager 提供NodeManager的黑白名單等等。

2、ApplicationMaster(AM)

????每當(dāng)用戶提交了一個(gè)應(yīng)用程序就會(huì)為這個(gè)應(yīng)用程序產(chǎn)生一個(gè)對(duì)應(yīng)的ApplicationMaster,并且這個(gè)這個(gè)單獨(dú)進(jìn)程是在其中一個(gè)子節(jié)點(diǎn)上運(yùn)行的。它的主要功能:為應(yīng)用向ResourceManager申請(qǐng)資源、在job對(duì)Task實(shí)行調(diào)度、與NodeManager通信以啟動(dòng)或者停止任務(wù)、監(jiān)控所有任務(wù)的運(yùn)行情況,并且在任務(wù)失敗的情下,重新為任務(wù)申請(qǐng)資源并且重啟任務(wù)、負(fù)責(zé)推測(cè)任務(wù)的執(zhí)行、當(dāng)ApplicationMaster向ResourceManager注冊(cè)后,ApplicationMaster可以提供客戶端查詢作業(yè)進(jìn)度信息等。

3、NodeManager(NM)

????NM是每個(gè)子節(jié)點(diǎn)上的資源和任務(wù)管理器,一方面,它會(huì)定向通過心跳信息向RM匯報(bào)本節(jié)點(diǎn)上的資源使用情況和各個(gè)Container的運(yùn)行情況;另一方面,它會(huì)接收并且處理來自AM的Container啟動(dòng)和停止的各種請(qǐng)求。它的能有點(diǎn)像Hadoop1.x中的TaskTracker。

4、Container

????Container是Yarn中對(duì)系統(tǒng)資源的抽象,同時(shí)它也是系統(tǒng)資源分配的基本單位,它封裝節(jié)點(diǎn)上多維度資源,其中包括CPU、內(nèi)存、磁盤、網(wǎng)絡(luò)等。Yarn會(huì)為每個(gè)任務(wù)分配一個(gè)Container,并且該任務(wù)只能夠使用該Container中所描述的資源。值得關(guān)注的的是,Yarn中的Container和MRv1中的Slot是完全不同的,Container是一個(gè)動(dòng)態(tài)的資源劃分單位,它是根據(jù)實(shí)際提交的應(yīng)用程序所需求的資源自動(dòng)生成的,換句話說,Container其里邊所描述的CPU、內(nèi)存等資源是根據(jù)實(shí)際應(yīng)用程序需求而變的。而Slot是一個(gè)靜態(tài)的資源抽象單位,每一個(gè)同類型的Slot所描述的資源信息都是一樣的。

四、Yarn工作流

????當(dāng)用戶給Yarn提交了一個(gè)應(yīng)用程序后,Yarn的主要工作流程如下圖:

  • 步驟1,用戶向Yarn提交應(yīng)用程序,其中包括用戶程序、相關(guān)文件、啟動(dòng)ApplicationMaster命令、ApplicationMaster程序等。

  • 步驟2,ResourceManager為該應(yīng)用程序分配第一個(gè)Container,并且與Container所在的NodeManager通信,并且要求該NodeManager在這個(gè)Container中啟動(dòng)應(yīng)用程序?qū)?yīng)的ApplicationMaster。

  • 步驟3,ApplicationMaster首先會(huì)向ResourceManager注冊(cè),這樣用戶才可以直接通過ResourceManager查看到應(yīng)用程序的運(yùn)行狀態(tài),然后它為準(zhǔn)備為該應(yīng)用程序的各個(gè)任務(wù)申請(qǐng)資源,并監(jiān)控它們的運(yùn)行狀態(tài)直到運(yùn)行結(jié)束,即重復(fù)后面4~7步驟。

  • 步驟4,ApplicationMaster采用輪詢的方式通過RPC協(xié)議向ResourceManager申請(qǐng)和領(lǐng)取資源。

  • 步驟5,一旦ApplicationMaster申請(qǐng)到資源后,便會(huì)與申請(qǐng)到的Container所對(duì)應(yīng)的NodeManager進(jìn)行通信,并且要求它在該Container中啟動(dòng)任務(wù)。

  • 步驟6,任務(wù)啟動(dòng)。NodeManager為要啟動(dòng)的任務(wù)配置好運(yùn)行環(huán)境,包括環(huán)境變量、JAR包、二進(jìn)制程序等,并且將啟動(dòng)命令寫在一個(gè)腳本里,通過該腳本運(yùn)行任務(wù)。

  • 步驟7,各個(gè)任務(wù)通過RPC協(xié)議向其對(duì)應(yīng)的ApplicationMaster匯報(bào)自己的運(yùn)行狀態(tài)和進(jìn)度,以讓ApplicationMaster隨時(shí)掌握各個(gè)任務(wù)的運(yùn)行狀態(tài),從而可以再任務(wù)運(yùn)行失敗時(shí)重啟任務(wù)。

  • 步驟8,應(yīng)用程序運(yùn)行完畢后,其對(duì)應(yīng)的ApplicationMaster會(huì)向ResourceManager通信,要求注銷和關(guān)閉自己。

    ?

? 這個(gè)需要注意的是在整個(gè)工作流程當(dāng)中,ResourceManager和NodeManager都是通過心跳保持聯(lián)系的,NodeManager會(huì)通過心跳信息向ResourceManager匯報(bào)自己所在節(jié)點(diǎn)的資源使用情況。

五、總結(jié)

????本文主要介紹了Yarn和Hadoop1.x的一些區(qū)別,以比較粗粒度的方式介紹了Yarn的基本架構(gòu)以及其組成的各個(gè)組件功能。另外,簡單的研究了Yarn的工作流程。

轉(zhuǎn)載于:https://www.cnblogs.com/itboys/p/9184381.html

總結(jié)

以上是生活随笔為你收集整理的Yarn框架和工作流程研究的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久综合国产 | 伦理片久久 | 国产免费视屏 | 视频免费1区二区三区 | 欧美日韩六区 | 国产视频久久久久久 | 69av导航 | 欧美日韩精品一二三区 | 美女国产网站 | 中文文字幕文字幕高清 | 中日韩中文字幕 | 无套内谢大学处破女www小说 | 精品国产自在精品国产精小说 | 黄色福利网站 | 老子午夜影院 | 又粗又猛又爽又黄的视频 | 成人免费在线网站 | 日本黄色免费在线观看 | 成人青青草 | 九一精品国产 | 亚洲久爱 | 亚洲理论片在线观看 | 辟里啪啦国语版免费观看 | 天天躁日日躁aaaaxxxx | www.日韩高清 | 欧美xxxxx性| 欧美激情片一区二区 | 性感美女在线 | 午夜精品美女久久久久av福利 | 国产午夜亚洲精品午夜鲁丝片 | 一级黄色大片 | 欧美老熟| 色人阁五月 | 国产成人在线一区二区 | 亚洲精品久久久久av无码 | 久久色网 | 四虎黄色影视 | 99热99热| 男人的天堂免费视频 | 亚洲欧洲日本在线 | 激情五月综合色婷婷一区二区 | 都市激情第一页 | 欧美在线91 | 国产视频在线观看网站 | 肉肉视频在线观看 | 黄色三级生活片 | 美女扒开腿让人桶爽 | 爱情岛论坛自拍 | 办公室荡乳欲伦交换bd电影 | www.xxx在线观看 | 领导揉我胸亲奶揉下面 | 一区二区三区四区中文字幕 | 中文字幕三级 | 国产黄色一级网站 | 欧美国产一区二区 | 琪琪电影午夜理论片八戒八戒 | 国产亚洲欧美精品久久久久久 | 天堂中文网在线 | 一女被多男玩喷潮视频 | 男女插孔视频 | 亚洲av成人无码一区二区三区在线观看 | 黄色一级片免费在线观看 | 日本一区二区在线观看视频 | 午夜视频 | 国产福利一区在线观看 | 又欲又污又肉又黄短文 | 毛片成人网 | 天天色播 | 成人在线h| 国产日本精品视频 | 污片网址 | 亚洲奶水xxxx哺乳期 | 密臀av| 久久久久高清 | 射久久| 天天干狠狠爱 | 欧美黄色大片免费看 | 日韩成人短视频 | 国产精品久久久久久亚洲av | 高清人妖shemale japan | 四虎国产精品成人免费入口 | 美女爆乳18禁www久久久久久 | 五月婷婷婷婷 | 国产在线视频卡一卡二 | 巨大黑人极品videos精品 | 99热精品免费 | 国产黄色91 | 国产喷水吹潮视频www | 在线免费av播放 | 明星双性精跪趴灌满h | av在线播放国产 | 91天天爽 | 公交上高潮的丁芷晴 | 舒淇裸体午夜理伦 | 日韩av在线直播 | 日本五十路女优 | 日本免费电影一区二区三区 | 久久国产影视 | 欧美在线xxx |