Yarn的基礎(chǔ)介紹以及job的提交流程-創(chuàng)新互聯(lián)

1.YARN的基礎(chǔ)理論

1)關(guān)于YARN的介紹:

YARN 是一個(gè)資源調(diào)度平臺(tái),負(fù)責(zé)為運(yùn)算程序提供服務(wù)器運(yùn)算資源,相當(dāng)于一個(gè)分布式的操作系統(tǒng)平臺(tái),而 MapReduce 等運(yùn)算程序則相當(dāng)于運(yùn)行于操作系統(tǒng)之上的應(yīng)用程序。

目前創(chuàng)新互聯(lián)建站已為數(shù)千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、靖邊網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

2)hadoop1.x中YARN的不足:

- JobTracker是集群的事務(wù)的集中處理,存在單點(diǎn)故障
- JobTracker需要完成得任務(wù)太多,既要維護(hù)job的狀態(tài)又要維護(hù)job的task的狀態(tài),造成資源消耗過多
- 在 TaskTracker 端,用Map/Reduce Task作為資源的表示過于簡單,沒有考慮到CPU。內(nèi)存,等資源情況,將兩個(gè)需要大消耗量的Task調(diào)度到一起,很容易出現(xiàn)OOM。
- 把資源強(qiáng)制劃分為 Map/Reduce Slot,當(dāng)只有 MapTask 時(shí),TeduceSlot 不能用;當(dāng)只有 ReduceTask 時(shí),MapSlot 不能用,容易造成資源利用不足。

3)hadoop2.x中YARN的新特性:

MRv2 最基本的想法是將原 JobTracker 主要的資源管理和 Job 調(diào)度/監(jiān)視功能分開作為兩個(gè)單獨(dú)的守護(hù)進(jìn)程。有一個(gè)全局的ResourceManager(RM)和每個(gè) Application 有一個(gè)ApplicationMaster(AM),Application 相當(dāng)于 MapReduce Job 或者 DAG jobs。ResourceManager和 NodeManager(NM)組成了基本的數(shù)據(jù)計(jì)算框架。ResourceManager 協(xié)調(diào)集群的資源利用,任何 Client 或者運(yùn)行著的 applicatitonMaster 想要運(yùn)行 Job 或者 Task 都得向 RM 申請一定的資源。ApplicatonMaster 是一個(gè)框架特殊的庫,對于 MapReduce 框架而言有它自己的 AM 實(shí)現(xiàn),
用戶也可以實(shí)現(xiàn)自己的 AM,在運(yùn)行的時(shí)候,AM 會(huì)與 NM 一起來啟動(dòng)和監(jiān)視 Tasks。

4)YARN中的角色介紹:

ResourceManager:ResoueceMananer是基于應(yīng)用程序?qū)嘿Y源的需求進(jìn)行調(diào)度的yarn集群的主控制節(jié)點(diǎn),負(fù)責(zé)協(xié)調(diào)和管理整個(gè)集群,相應(yīng)用戶提交的不同的類型的應(yīng)用程序,解析、調(diào)度、監(jiān)控等工作。ResourceManager會(huì)為每一個(gè)application啟動(dòng)一個(gè)MRappmaster,并且MRappmaster分散在各個(gè)nodemanager上。
ResourceManager只要有兩個(gè)部分組成:
- 應(yīng)用程序管理器(ApplicationsManager, ASM): 管理和監(jiān)控所有的應(yīng)用程序的MRappmaster,啟動(dòng)應(yīng)用程序的MRappmaster,以及MRappmaster失敗重啟
- 調(diào)度器(Scheduler):底層是一個(gè)隊(duì)列,負(fù)責(zé)應(yīng)用程序的執(zhí)行時(shí)間和順序
- FIFO(先進(jìn)先出的隊(duì)列):先提交的任務(wù)先執(zhí)行 后提交的后執(zhí)行 內(nèi)部只維護(hù)一個(gè)隊(duì)列
- Fair 公平調(diào)度器:所有的計(jì)算任務(wù)進(jìn)行資源的平分,全局中如果只有一個(gè)job那么當(dāng)前的job占用所有的資源
- Capacity(計(jì)算能力調(diào)度器):可以根據(jù)實(shí)際的job任務(wù)的大小,進(jìn)行資源的配置


NodeManager:Nodemanager是yarn集群中正真資源的提供者,也是真正執(zhí)行應(yīng)用程序的容器的提供者,監(jiān)控應(yīng)用程序的資源情況(cpu、網(wǎng)絡(luò)、IO、內(nèi)存)。并通過心跳向集群的主節(jié)點(diǎn)ResourceManager 進(jìn)行匯報(bào)以及更新自己的健康狀況。同時(shí)也會(huì)監(jiān)督container的生命周期管理,監(jiān)控每個(gè)container的資源情況


MRAppMaster:為當(dāng)前的job的mapTask和reduceTask向ResourceManager 申請資源、監(jiān)控當(dāng)前job的mapTask和reduceTask的運(yùn)行狀況和進(jìn)度、為失敗的MapTask和reduceTask重啟、負(fù)責(zé)對mapTask和reduceTask的資源回收。


Container:Container 是一個(gè)容器,一個(gè)抽象的邏輯資源單位。容器是由ResourceManager Scheduler 服務(wù)動(dòng)態(tài)分配的資源構(gòu)成的,它包括該節(jié)點(diǎn)上的一定量的cpu、網(wǎng)絡(luò)、IO、內(nèi)存,MapReduce 程序的所有 Task 都是在一個(gè)容器里執(zhí)行完成的。

5)YARN中的資源調(diào)度:

hadoop 1.x
Yarn的基礎(chǔ)介紹以及job的提交流程

  • 首先通過client發(fā)起計(jì)算作業(yè),由jobTracker向每一個(gè)Task Tracker發(fā)起計(jì)算(每一個(gè)job Tracker就是一個(gè)map-reduce)
  • 具體工作的是Task Tracker,而jobTracker是做資源管理的,首先Task Tracker會(huì)向job tracker做心跳,并同時(shí)的拉取相應(yīng)的任務(wù),開始計(jì)算。
  • 首先job Tracker控制Task Tracker并行map計(jì)算,當(dāng)map結(jié)束之后,job Tracker控制Task Tracker并行reduce計(jì)算。
    hadoop 2.x
    Yarn的基礎(chǔ)介紹以及job的提交流程
  • 客戶端提交計(jì)算任務(wù)到resourceManager(hadoopxx.jar)
  • resourceManager會(huì)在一個(gè)節(jié)點(diǎn)上啟動(dòng)一個(gè)container,在其中運(yùn)行一個(gè)MRappmaster
  • MRappmaster向resourceManager申請資源運(yùn)行行maptask和reducetask
  • resourceManager向MRAPPmaster返回運(yùn)行maptask和reducetask的節(jié)點(diǎn)
  • MRAPPmaster到相應(yīng)的節(jié)點(diǎn)中啟動(dòng)一個(gè)container在其中運(yùn)行maptask和reudcetask
  • MRappmaster監(jiān)控maptask或者reducetask的運(yùn)行狀況
  • nodemanger在運(yùn)行完maptask或者reducetask后,向MRappmaster申請注銷自己,釋放資源
  • MRappmaster向resourcemanager注銷自己,釋放資源。

    2.YARN的job 提交流程

    Yarn的基礎(chǔ)介紹以及job的提交流程

    1. 客戶端向resourcemanager提交job運(yùn)行的請求(hadoop jar xxxx.jar)
    2. Resourcemanager進(jìn)行檢查,沒有問題的時(shí)候,向客戶端返回一個(gè)共享資源路徑以及JobID
    3. 客戶端將共享資源放入共享路徑下:(/tmp/hadoop-yarn/staging/hadoop/.staging/job_1539740094604_0002/)
      1. Job.jar 需要運(yùn)行的jar包,重命名為job.jar
      2. Job.split 切片信息 (FlieInputFormat---getSplits List<Split>)
      3. Job.xml 配置文件信息 (一些列的job.setxxxx())
    4. 客戶端向resourcemanager反饋共享資源放置完畢,進(jìn)行job的真正提交
    5. resourceManager為這個(gè)job分配一個(gè)節(jié)點(diǎn)并在這個(gè)節(jié)點(diǎn)上啟動(dòng)MRAPPmaster任務(wù)
    6. resourceManager到對應(yīng)的節(jié)點(diǎn)上去啟動(dòng)一個(gè)container然后啟動(dòng)mrappmaster
    7. MRappmaster去共享資源路徑中下載資源(主要是split、job)
    8. MRappmater對job進(jìn)行初始化,生成一個(gè)job工作簿,job的工作薄記錄著maptask和reduce的運(yùn)行進(jìn)度和狀態(tài)
    9. MRappmaster向resourcemanager申請maptask和reducetask的運(yùn)行的資源,先發(fā)maptask然后發(fā)reducetask
    10. resourcemanager向MRAPPmaster返回maptask和reduce的資源節(jié)點(diǎn)(返回節(jié)點(diǎn)時(shí),有就近原則,優(yōu)先返回當(dāng)前的maptask所處理切片的實(shí)際節(jié)點(diǎn),數(shù)據(jù)處處理的時(shí)候可以做到數(shù)據(jù)的本地化處理。如果是多副本的時(shí)候就在多副本的任意節(jié)點(diǎn)。而reducetask任務(wù)在任意不忙的節(jié)點(diǎn)上啟動(dòng))
    11. MRAPPmaster到對應(yīng)的節(jié)點(diǎn)上啟動(dòng)一個(gè)container,然后在container中啟動(dòng)maptask任務(wù)
    12. maptask任務(wù)到對應(yīng)的共享資源路徑下下載相應(yīng)的資源(運(yùn)行的jar包)
    13. maptask任務(wù)啟動(dòng),并且定時(shí)向MRAPPmaster匯報(bào)自己的運(yùn)行狀態(tài)和進(jìn)度
    14. 當(dāng)有一個(gè)maptask任務(wù)完成之后,reduce就啟動(dòng)container然后在啟動(dòng)啟動(dòng)reduce任務(wù),但是這里的reducetask只做數(shù)據(jù)拉取的工作,不會(huì)進(jìn)行計(jì)算
    15. duceTask任務(wù)到對應(yīng)的共享資源路徑下載相應(yīng)的資源(運(yùn)行的jar包),當(dāng)所有的maptask任務(wù)運(yùn)行完成后,啟動(dòng)reduce任務(wù)進(jìn)行計(jì)算
    16. 當(dāng)maptask或者是reducetask任務(wù)運(yùn)行完成之后,就會(huì)向MRAPPmaster申請注銷自己,釋放資源
    17. 當(dāng)application任務(wù)完成之后,MRAPPmaster會(huì)向resourcemanager申請注銷自己,釋放資源

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

當(dāng)前名稱:Yarn的基礎(chǔ)介紹以及job的提交流程-創(chuàng)新互聯(lián)
網(wǎng)站地址:http://muchs.cn/article20/ddopjo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)電子商務(wù)、標(biāo)簽優(yōu)化、定制開發(fā)、網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化

網(wǎng)站設(shè)計(jì)公司知識(shí)