溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Yarn架構(gòu)

發(fā)布時(shí)間:2020-07-22 00:13:57 來源:網(wǎng)絡(luò) 閱讀:663 作者:afeiye 欄目:大數(shù)據(jù)

Yarn是為了解決MRv1中JobTracker負(fù)載過重,而設(shè)計(jì)的第二代MR運(yùn)行架構(gòu)。
yarn是個(gè)master/slave結(jié)構(gòu),master節(jié)點(diǎn)運(yùn)行Resourcemanager,slave節(jié)點(diǎn)運(yùn)行nodemanager。
Yarn架構(gòu)

  1. RM主要有兩個(gè)組件:資源調(diào)度器(scheduler)和應(yīng)用程序管理器(Applications Manager)
    scheduler主要進(jìn)行資源調(diào)度,不進(jìn)行任何與應(yīng)用程序相關(guān)的動(dòng)作,主要包括Capacity Scheduler和Fair scheduler。
    ASM:主要負(fù)責(zé)提交、啟動(dòng)以及監(jiān)控每個(gè)application的application master
  2. AM
    每個(gè)作業(yè)都有一個(gè)application master來監(jiān)控和管理自己的所有任務(wù),具備的功能包括:
    a,與RM交互獲取任務(wù)運(yùn)行的資源;
    b,與NM交互提交任務(wù)、監(jiān)控任務(wù)運(yùn)行情況等
  3. NM
    一般集群中每個(gè)節(jié)點(diǎn)啟動(dòng)一個(gè)NM,NM不但向RM發(fā)送心跳,匯報(bào)本節(jié)點(diǎn)的資源使用情況;并與AM交互,接收并處理來自AM的所有關(guān)于container的請(qǐng)求。
  4. container
    一個(gè)邏輯概念,抽象的資源表示形式,可以代表一組多維度資源,目前yarn主要支持cpu和內(nèi)存。

yarn工作流程

Yarn架構(gòu)
向yarn提交一個(gè)應(yīng)用程序后,yarn主要分為兩個(gè)步驟:第一步先啟動(dòng)application master;第二步由AM啟動(dòng)并監(jiān)控本application中的所有任務(wù),直到完成。

  1. 向yarn提交應(yīng)用程序,包含application master程序,以及啟動(dòng)am的命令;
  2. RM為AM分配一個(gè)container,并與NM通信啟動(dòng)container來運(yùn)行這個(gè)AM(這是唯一一個(gè)由RM和NM通信啟動(dòng)的container,其它的container都是AM與NM通信啟動(dòng))
  3. AM啟動(dòng)之后,主動(dòng)向RM發(fā)送心跳注冊(cè)自己,此時(shí)RM可以監(jiān)控這個(gè)AM,我們可以在yarn web頁面上看到這個(gè)任務(wù);
  4. AM輪詢方式向RM申請(qǐng)和獲取資源;
  5. AM獲取到資源后,與NM通信要求啟動(dòng)任務(wù);
  6. NM設(shè)置任務(wù)運(yùn)行環(huán)境,啟動(dòng)任務(wù);
  7. 各個(gè)NM上的任務(wù),不斷通過RPC向AM發(fā)送心跳,匯報(bào)自己的狀態(tài)和進(jìn)度;
  8. 任務(wù)全部完成后,AM向RM注銷自己。
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI