Yarn的架構原理

      網友投稿 838 2025-04-01

      YARN 產生背景


      MapReduce存在的問題:

      1)JobTracker 單點故障。

      2)JobTracker 承受的訪問壓力大,影響系統的擴展性。

      3)不支持MapReduce之外的計算框架,比如Storm、Spark、Flink

      什么是YARN

      YARN 是Hadoop2.0版本新引入的資源管理系統,直接從MR1演化而來。 核心思想:

      將MR1中JobTracker的資源管理和作業調度兩個功能分開,分別由ResourceManager和ApplicationMaster進程來實現。

      1)ResourceManager:負責整個集群的資源管理和調度。

      2)ApplicationMaster:負責應用程序相關的事務,比如任務調度、任務監控和容錯等。

      YARN的出現,使得多個計算框架運行在一個集群當中。

      1)每個應用程序對應一個ApplicationMaster。

      2)目前可以支持多種計算框架運行在YARN上面,比如MapReduce、Storm、Spark、Flink

      YARN的基本架構

      從 YARN 的架構圖來看,它主要由ResourceManager、NodeManager、ApplicationMaster和Container等以下幾個組件構成。

      ResourceManager(RM)

      RM 是一個全局的資源管理器,負責整個系統的資源管理和分配。它主要由兩個組件構成: 調度器(Scheduler)和應用程序管理器(Applications Manager,ASM)。

      YARN 分層結構的本質是 ResourceManager。這個實體控制整個集群并管理應用程序向基礎計算資源的分配。ResourceManager 將各個資源部分(計算、內存、帶寬等)精心安排給基礎 NodeManager(YARN 的每節點代理)。ResourceManager 還與 ApplicationMaster 一起分配資源,與 NodeManager 一起啟動和監視它們的基礎應用程序。在此上下文中,ApplicationMaster 承擔了以前的 TaskTracker 的一些角色,ResourceManager 承擔了 JobTracker 的角色。

      (1) 調度器

      調度器根據容量、隊列等限制條件(如每個隊列分配一定的資源,最多執行一定數量的作業等),將系統中的資源分配給各個正在運行的應用程序。 該調度器是一個“純調度器”,它不再從事任何與具體應用程序相關的工作。

      (2) 應用程序管理器

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

      ApplicationMaster(AM)

      ApplicationMaster 管理一個在 YARN 內運行的應用程序的每個實例。ApplicationMaster 負責協調來自 ResourceManager 的資源,并通過 NodeManager 監視容器的執行和資源使用(CPU、內存等的資源分配)。請注意,盡管目前的資源更加傳統(CPU 核心、內存),但未來會帶來基于手頭任務的新資源類型(比如圖形處理單元或專用處理設備)。從 YARN 角度講,ApplicationMaster 是用戶代碼,因此存在潛在的安全問題。YARN 假設 ApplicationMaster 存在錯誤或者甚至是惡意的,因此將它們當作無特權的代碼對待。

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

      NodeManager(NM)

      NodeManager 管理一個 YARN 集群中的每個節點。NodeManager 提供針對集群中每個節點的服務,從監督對一個容器的終生管理到監視資源和跟蹤節點健康。MRv1 通過插槽管理 Map 和 Reduce 任務的執行,而 NodeManager 管理抽象容器,這些容器代表著可供一個特定應用程序使用的針對每個節點的資源。YARN 繼續使用 HDFS 層。它的主要 NameNode 用于元數據服務,而 DataNode 用于分散在一個集群中的復制存儲服務。

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

      Container

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

      Yarn的架構及原理

      要使用一個 YARN 集群,首先需要來自包含一個應用程序的客戶的請求。ResourceManager 協商一個容器的必要資源,啟動一個 ApplicationMaster 來表示已提交的應用程序。通過使用一個資源請求協議,ApplicationMaster 協商每個節點上供應用程序使用的資源容器。執行應用程序時,ApplicationMaster 監視容器直到完成。當應用程序完成時,ApplicationMaster 從 ResourceManager 注銷其容器,執行周期就完成了。

      通過上面的學習,應該明確的一點是,舊的 Hadoop 架構受到了 JobTracker 的高度約束,JobTracker 負責整個集群的資源管理和作業調度。新的 YARN 架構打破了這種模型,允許一個新 ResourceManager 管理跨應用程序的資源使用,ApplicationMaster 負責管理作業的執行。這一更改消除了一處瓶頸,還改善了將 Hadoop 集群擴展到比以前大得多的配置的能力。此外,不同于傳統的 MapReduce,YARN 允許使用 Message Passing Interface 等標準通信模式,同時執行各種不同的編程模型,包括圖形處理、迭代式處理、機器學習和一般集群計算。

      YARN 的工作原理

      MapReduce On YARN

      MapReduce On YARN

      1)YARN 負責資源管理和調度。

      2)ApplicationMaster負責任務管理。

      MapReduce ApplicationMaster

      1)MRAppMaster

      2)每個MapReduce作業啟動一個MRAppMaster

      3)MRAppMaster負責任務切分、任務調度、任務監控和容錯等。

      MRAppMaster任務調度

      1)YARN 將資源分配給MRAppMaster

      2)MRAppMaster 進一步將資源分配給內部任務

      MRAppMaster容錯

      1)MRAppMaster運行失敗后,由YARN重新啟動

      2)任務運行失敗后,MRAppMaster重新申請資源

      YARN HA

      ResourceManager HA 由一對Active,Standby結點構成,通過RMStateStore存儲內部數據和主要應用的數據及標記。目前支持的可替代的RMStateStore實現有:基于內存的MemoryRMStateStore,基于文件系統的FileSystemRMStateStore,及基于zookeeper的ZKRMStateStore。 ResourceManager HA的架構模式同NameNode HA的架構模式基本一致,數據共享由RMStateStore,而ZKFC成為 ResourceManager進程的一個服務,非獨立存在。

      Hadoop Yarn

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

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

      上一篇:家居定制拆單軟件選擇指南:如何找到最適合您的選擇?
      下一篇:庫存管理系統幫助80%企業解決庫存管理難題
      相關文章
      中文字幕久久亚洲一区 | 亚洲偷自拍另类图片二区| 色窝窝亚洲av网| 亚洲人成毛片线播放| 亚洲精品无码永久在线观看你懂的| www亚洲精品少妇裸乳一区二区| 亚洲精品无码mⅴ在线观看| 亚洲国产成人精品久久| 亚洲婷婷综合色高清在线| 亚洲日韩乱码中文无码蜜桃臀| 亚洲沟沟美女亚洲沟沟| 亚洲制服丝袜在线播放| 亚洲娇小性xxxx色| 中文字幕亚洲精品无码| 亚洲AV无码精品蜜桃| 亚洲国产综合人成综合网站00| 91亚洲视频在线观看| 亚洲乱码在线卡一卡二卡新区| 亚洲精品午夜国产va久久| 亚洲人成色4444在线观看| 亚洲av无码一区二区三区四区| 亚洲AV日韩综合一区| 五月天婷亚洲天综合网精品偷| 亚洲国产精品无码久久青草| 亚洲AV无码成H人在线观看| AV在线播放日韩亚洲欧| 国产亚洲av片在线观看16女人 | 亚洲视频无码高清在线| 亚洲精品无码不卡在线播放| 精品亚洲成a人在线观看| 亚洲精品无码av天堂| 亚洲欧洲国产精品香蕉网| 九月丁香婷婷亚洲综合色| 亚洲精品乱码久久久久久| 亚洲专区先锋影音| 久久亚洲精品专区蓝色区| 色偷偷噜噜噜亚洲男人| 久久精品国产亚洲一区二区三区| 亚洲精品无码乱码成人| 91精品国产亚洲爽啪在线观看| 久久精品亚洲AV久久久无码 |