<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          原創(chuàng) | 9張圖詳解Yarn的工作機制,驚艷阿里面試官

          共 2131字,需瀏覽 5分鐘

           ·

          2021-01-26 11:57

          點擊上方 "大數(shù)據(jù)肌肉猿"關(guān)注,?星標(biāo)一起成長

          后臺回復(fù)【加群】,進入高質(zhì)量學(xué)習(xí)交流群

          2021年大數(shù)據(jù)肌肉猿公眾號獎勵制度

          我們知道 YARN 是 Hadoop 資源管理器,無論是 MapReduce 應(yīng)用還是 Spark 應(yīng)用,應(yīng)該都會用到 Yarn。我們學(xué)習(xí) Yarn 不僅為了應(yīng)對工作,面試中也是一個高頻考點,無論是阿里、字節(jié)還是美團等一線大廠的一面,都喜歡問這個知識點。

          今天我們就來聊聊 Yarn 的組成以及工作流程:

          先介紹幾個角色
          ResourceManager
          一個集群只有一個 RM,它是 YARN 的總指揮,負(fù)責(zé)協(xié)調(diào)集群上的計算資源,它有以下兩個組件:
          • ApplicationsManager:這個不是 ApplicationMaster,注意區(qū)分。它會接受 Job 的提交請求,調(diào)度 Container 用于啟動 ApplicationMaster,以及負(fù)責(zé) ApplicationMaster 的失敗重啟。
          • Scheduler:調(diào)度器純粹為應(yīng)用程序分配資源,它不會監(jiān)控應(yīng)用的狀態(tài),這里的調(diào)度就是基于 Container 這個抽象的資源容器,包含內(nèi)存、CPU、磁盤、網(wǎng)絡(luò)等。

          NodeManager
          一個集群中有多個 NodeManager,它負(fù)責(zé)啟動 Container,監(jiān)控 Container 的資源使用情況(cpu、內(nèi)存、磁盤、網(wǎng)絡(luò)),并將這些信息匯報給 RM。一個 NodeManager 上可以有多個 Container。

          Container
          Container 是一組硬件資源的抽象,包含 CPU、內(nèi)存、磁盤、網(wǎng)絡(luò)等,所有的 Job 都是在 Container 中運行;

          ApplicationMaster
          與 RM 協(xié)商資源,并與 NodeManager 一起監(jiān)控任務(wù),ApplicationMaster 和 Job 一樣,都是運行在 Container 中。

          下面我們詳細(xì)了解下一個任務(wù)是怎么提交到 Yarn 中運行的。

          第 1 步:Client 向 RM 發(fā)起任務(wù)請求:「RM,我要執(zhí)行一個任務(wù)」

          第 2 步:RM 給 Client 返回 Application ID 等信息:「好的,給你分配一個 Application ID」

          第 3 步:Client 根據(jù)返回的信息,檢查作業(yè)的輸入輸出目錄是否正確、計算作業(yè)輸入分片是否正常,將運行作業(yè)需要的資源(作業(yè) Jar 文件、配置文件、輸入分片)復(fù)制到以 Application ID 命名的 HDFS 目錄中。

          第 4 步:Client 向 RM 正式提交作業(yè):「我都準(zhǔn)備好了,執(zhí)行任務(wù)吧」

          第 5 步:RM 將請求信息傳遞給自己的小弟 Scheduler:「Scheduler 老弟,你來分配個 Container」
          第 6 步:Scheduler 分配 Container,用于啟動 ApplicationMaster:「好的,這個 Container 就是 0 號選手」
          第 7 步:ApplicationsManager 與指定的 NodeManager 通信,要求在 Container 中啟動 ApplicationMaster。

          第 8 步:ApplicationMaster 初始化任務(wù)并向 RM 申請所需要的資源:「RM 大哥,給我資源運行任務(wù)」

          第 9 步:RM 返回 ApplicationMaster 申請的資源:「給你 1、2 ?兩個 NodeManager」
          第 10 步:ApplicationMaster 與對應(yīng)的 NodeManager 通信,申請 Container 啟動任務(wù)「NodeManager 大哥,給我啟動 Container 運行這個任務(wù)」

          第 11 步:Container 中的應(yīng)用程序會先將需要的計算資源從 HDFS 下載到本地,再啟動任務(wù):「都給我跑起來」
          第 12 步:運行過程中,任務(wù)會將狀態(tài)和進度報告給 ApplicationMaster,Client 會輪詢 ApplicationMaster 獲取狀態(tài)。
          第 13 步:運行完成后,Container 會注銷掉,也就是把資源歸還給系統(tǒng),ApplicationMaster 向 RM 注銷自己。

          如果你已經(jīng)堅持看到這里了,可以回到文章開頭再看看 Yarn 的幾個角色解釋,加深理解。

          你還想峰哥講哪方面的知識點,歡迎留言~

          原創(chuàng)專輯:

          峰哥雜談

          峰哥的成長之路

          大數(shù)據(jù)轉(zhuǎn)型案例

          大數(shù)據(jù)面試知識點

          技術(shù)漫畫與職場經(jīng)驗


          ·················END·················


          你好,我是峰哥,一個騷氣的肌肉男。獨自窮游過15個國家,60座城市,也是國家級健身教練。


          二本車輛工程轉(zhuǎn)型大數(shù)據(jù)開發(fā),拿過66個大數(shù)據(jù)offer,現(xiàn)任某知名外企高級數(shù)據(jù)工程師。


          畢業(yè)一年,靠自己在上海買房,點此看我2020年總結(jié)為人親和,歡迎添加我的微信?Fawn0504?進行交流或圍觀朋友圈。


          瀏覽 21
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  内射网站在线观看在线观看 | 嫩草久久| 女人成人网站 | 黄色一级A片不卡 | 成人女在线观看 |