【云小課】EI第38課 MRS基礎原理之YARN組件介紹

      網友投稿 895 2025-03-31

      為了實現一個Hadoop集群的集群共享、可伸縮性和可靠性,并消除早期MapReduce框架中的JobTracker性能瓶頸,Hadoop社區引入了統一的資源管理框架YARN。

      YARN是將JobTracker的兩個主要功能(資源管理和作業調度/監控)分離,主要方法是創建一個全局的ResourceManager(RM)和若干個針對應用程序的ApplicationMaster(AM)。

      在原生的YARN資源調度機制中,如果先提交的MapReduce Job長時間地占據整個Hadoop集群的資源,會使得后提交的Job一直處于等待狀態,直到Running中的Job執行完并釋放資源。

      MRS集群提供了任務優先級調度機制。此機制允許用戶定義不同優先級的Job,后啟動的高優先級Job能夠獲取運行中的低優先級Job釋放的資源;低優先級Job未啟動的計算容器被掛起,直到高優先級Job完成并釋放資源后,才被繼續啟動。

      YARN結構

      YARN分層結構的本質是ResourceManager。這個實體控制整個集群并管理應用程序向基礎計算資源的分配。ResourceManager將各個資源部分(計算、內存、帶寬等)精心安排給基礎NodeManager(YARN的每節點代理)。ResourceManager還與Application Master一起分配資源,與NodeManager一起啟動和監視它們的基礎應用程序。

      Application Master管理一個在YARN內運行的應用程序的每個實例。Application Master負責協調來自ResourceManager的資源,并通過NodeManager監視容器的執行和資源使用(CPU、內存等的資源分配)。

      NodeManager管理一個YARN集群中的每個節點。NodeManager提供針對集群中每個節點的服務,從監督對一個容器的終生管理到監視資源和跟蹤節點健康。MRv1通過插槽管理Map和Reduce任務的執行,而NodeManager管理抽象容器,這些容器代表著可供一個特定應用程序使用的針對每個節點的資源。

      名稱

      描述

      Client

      YARN Application客戶端,用戶可以通過客戶端向ResourceManager提交任務,查詢Application運行狀態等。

      ResourceManager(RM)

      負責集群中所有資源的統一管理和分配。接收來自各個節點(NodeManager)的資源匯報信息,并根據收集的資源按照一定的策略分配給各個應用程序。

      NodeManager(NM)

      NodeManager(NM)是YARN中每個節點上的代理,管理Hadoop集群中單個計算節點,包括與ResourceManger保持通信,監督Container的生命周期管理,監控每個Container的資源使用(內存、CPU等)情況,追蹤節點健康狀況,管理日志和不同應用程序用到的附屬服務(auxiliary service)。

      ApplicationMaster(AM)

      即圖中的App Mstr,負責一個Application生命周期內的所有工作。包括:與RM調度器協商以獲取資源;將得到的資源進一步分配給內部任務(資源的二次分配);與NM通信以啟動/停止任務;監控所有任務運行狀態,并在任務運行失敗時重新為任務申請資源以重啟任務。

      Container

      Container是YARN中的資源抽象,封裝了某個節點上的多維度資源,如內存、CPU、磁盤、網絡等(目前僅封裝內存和CPU),當AM向RM申請資源時,RM為AM返回的資源便是用Container表示。YARN會為每個任務分配一個Container,且該任務只能使用該Container中描述的資源。

      在YARN中,資源調度器是以層級隊列方式組織資源的,這種組織方式有利于資源在不同隊列間分配和共享,進而提高集群資源利用率。如下圖所示,Superior Scheduler和Capacity Scheduler的核心資源分配模型相同。

      調度器會維護隊列的信息。用戶可以向一個或者多個隊列提交應用。每次NM心跳的時候,調度器會根據一定規則選擇一個隊列,再選擇隊列上的一個應用,并嘗試在這個應用上分配資源。若因參數限制導致分配失敗,將選擇下一個應用。選擇一個應用后,調度器會處理此應用的資源申請。其優先級從高到低依次為:本地資源的申請、同機架的申請,任意機器的申請。

      YARN原理

      新的Hadoop MapReduce框架被命名為MRv2或YARN。YARN主要包括ResourceManager、ApplicationMaster與NodeManager三個部分。

      ResourceManager

      RM是一個全局的資源管理器,負責整個系統的資源管理和分配。主要由兩個組件構成:調度器(Scheduler)和應用程序管理器(Applications Manager)。調度器根據容量、隊列等限制條件(如每個隊列分配一定的資源,最多執行一定數量的作業等),將系統中的資源分配給各個正在運行的應用程序。調度器僅根據各個應用程序的資源需求進行資源分配,而資源分配單位用一個抽象概念Container表示。Container是一個動態資源分配單位,將內存、CPU、磁盤、網絡等資源封裝在一起,從而限定每個任務使用的資源量。此外,該調度器是一個可插拔的組件,用戶可根據自己的需要設計新的調度器,YARN提供了多種直接可用的調度器,比如Fair Scheduler和Capacity Scheduler等。

      應用程序管理器負責管理整個系統中所有應用程序,包括應用程序提交、與調度器協商資源以啟動ApplicationMaster、監控ApplicationMaster運行狀態并在失敗時重新啟動等。

      NodeManager

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

      ApplicationMaster

      AM負責一個Application生命周期內的所有工作。包括:

      與RM調度器協商以獲取資源。

      將得到的資源進一步分配給內部的任務(資源的二次分配)。

      與NM通信以啟動/停止任務。

      監控所有任務運行狀態,并在任務運行失敗時重新為任務申請資源以重啟任務。

      Yarn作業提交示例

      MRS集群的創建您可參考創建集群。

      Yarn客戶端的安裝您可以參考安裝客戶端。

      以客戶端安裝用戶,登錄安裝客戶端的節點。執行以下命令,切換到客戶端安裝目錄。

      cd /opt/Bigdata/client source bigdata_env

      【云小課】EI第38課 MRS基礎原理之YARN組件介紹

      若集群開啟了Kerberos認證,需提前準備具有Kafka操作權限的用戶并進行認證。

      kinit 組件業務用戶

      提交一個Yarn任務:

      yarn jar HDFS/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar pi 100 10

      登錄集群FusionInsight Manager主頁界面,單擊進入“Yarn”,打開“ResourceManager(主機名,主)”,可以進入Yarn WebUI頁面。

      切換為作業執行用戶,可查看當前作業的運行詳情及資源占用情況。

      YARN作業運行完成。

      ... Peak Reduce Physical memory (bytes)=242061312 Peak Reduce Virtual memory (bytes)=5654482944 Shuffle Errors BAD_ID=0 CONNECTION=0 IO_ERROR=0 WRONG_LENGTH=0 WRONG_MAP=0 WRONG_REDUCE=0 File Input Format Counters Bytes Read=11800 File Output Format Counters Bytes Written=97 Job Finished in 115.117 seconds Estimated value of Pi is 3.14800000000000000000

      關于YARN租戶及提交作業過程中的調度介紹,請參考《MRS 多租戶介紹》。

      好了,本期云小課就介紹到這里,快去體驗MapReduce(MRS)更多功能吧!猛戳這里

      EI智能體 MapReduce Yarn

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:【云小課】應用平臺第2課 超過99%的用戶都在用的云服務!你不能不知道!
      下一篇:word文檔怎么顯示字數
      相關文章
      亚洲精彩视频在线观看| 亚洲国产精品无码久久久不卡| 亚洲AV无码不卡无码| 亚洲第一区在线观看| 国产精品久久久久久亚洲小说| 亚洲老熟女五十路老熟女bbw| 亚洲人成综合网站7777香蕉| 亚洲另类春色国产精品| 亚洲卡一卡2卡三卡4麻豆| 亚洲男人电影天堂| 亚洲欧洲日产v特级毛片| 亚洲伊人精品综合在合线| 亚洲国产成人精品激情| 亚洲国产精品一区二区三区在线观看 | 久久久久亚洲av无码专区喷水 | 亚洲国产日韩综合久久精品| 亚洲最大av资源站无码av网址| 亚洲日本久久一区二区va| 亚洲人成网男女大片在线播放| 精品丝袜国产自在线拍亚洲| 亚洲乱码在线观看| 亚洲AV无码一区二区乱子仑| 国产成人亚洲综合在线| 亚洲国产成人久久综合一区77| 亚洲av无码不卡私人影院| 亚洲第一页日韩专区| 久久亚洲av无码精品浪潮| 亚洲精品国产精品乱码不99| 亚洲av无码成人黄网站在线观看 | 亚洲色欲色欱wwW在线| 色窝窝亚洲AV网在线观看| 亚洲国产成人久久精品99| 在线观看亚洲成人| 国产成人精品日本亚洲网站| 亚洲av激情无码专区在线播放| 亚洲黄色在线观看视频| 亚洲一区在线免费观看| 亚洲日韩一中文字暮| 亚洲精品第一国产综合境外资源| 三上悠亚亚洲一区高清| 亚洲国产成人久久精品动漫 |