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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

YARN体系学习笔记

發布時間:2024/2/28 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 YARN体系学习笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、基本組成結構

1. ResourceManager

負責對各個NodeManager 上的資源進行統一管理和調度。包含兩個組件:
* Scheduler:調度器根據容量、隊列等限制條件(如每個隊列分配一定的資源,最多執行一定數量的作業等),將系統中的資源分配給各個正在運行的應用程序
* Applications Manager:應用程序管理器負責管理整個系統中所有應用程序,包括應用程序提交、與調度器協商資源以啟動ApplicationMaster、監控ApplicationMaster運行狀態并在失敗時重新啟動它等

2. NodeManager

NM 是每個節點上的資源和任務管理器。
* 定時地向RM 匯報本節點上的資源使用情況和各個Container 的運行狀態
* 接收并處理來自AM 的Container啟動/ 停止等各種請求

3. ApplicationMaster

用戶提交的每個應用程序均包含一個AM,主要功能包括:
* 與RM 調度器協商以獲取資源(用 Container 表示)
* 將得到的任務進一步分配給內部的任務
* 與 NM 通信以啟動 / 停止任務
* 監控所有任務運行狀態,并在任務運行失敗時重新為任務申請資源以重啟任務

4. Container

Container 是YARN 中的資源抽象, 它封裝了某個節點上的多維度資源, 如內存、CPU、磁盤、網絡等,當AM 向RM 申請資源時,RM 為AM 返回的資源便是用Container表示的。

二、YARN 的工作流程

  • 用戶向YARN 中提交應用程序, 其中包括ApplicationMaster 程序、啟動ApplicationMaster 的命令、用戶程序等。
  • ResourceManager 為該應用程序分配第一個Container,并與對應的Node-Manager 通信,要求它在這個Container中啟動應用程序的ApplicationMaster。
  • ApplicationMaster 首先向ResourceManager 注冊,這樣用戶可以直接通過ResourceManage 查看應用程序的運行狀態,然后它將為各個任務申請資源,并監控它的運行狀態,直到運行結束,即重復步驟4~7。
  • ApplicationMaster 采用輪詢的方式通過RPC 協議向ResourceManager 申請和領取資源。
  • 一旦ApplicationMaster 申請到資源后,便與對應的NodeManager 通信,要求它啟動任務。
  • NodeManager 為任務設置好運行環境(包括環境變量、JAR 包、二進制程序等)后,將任務啟動命令寫到一個腳本中,并通過運行該腳本啟動任務。
  • 各個任務通過某個RPC 協議向ApplicationMaster 匯報自己的狀態和進度,以讓ApplicationMaster 隨時掌握各個任務的運行狀態,從而可以在任務失敗時重新啟動任務。在應用程序運行過程中,用戶可隨時通過RPC向ApplicationMaster 查詢應用程序的當前運行狀態。
  • 應用程序運行完成后,ApplicationMaster 向ResourceManager 注銷并關閉自己。
  • 總結

    以上是生活随笔為你收集整理的YARN体系学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。