Yarn學習

Yarn的基本思想:將JobTracker的資源管理和調度監(jiān)控兩大職能,拆分成兩個獨立的進程:ResourceManager、ApplicationMaster。
ResourceManager和每個節(jié)點的NodeManager組成全新的通用操作系統(tǒng),以分布式的方式管理應用程序。

ResourceManager

由兩個組件構成:調度器(scheduler)、應用管理器(ApplicationManager)。

1、調度器

將系統(tǒng)中的資源分配給各個正在運行的應用。
是一個純粹的調度器,不負責與具體應用相關的工作,也不復雜重啟失敗的任務。
Container調度器根據(jù)各應用的資源需求,將內存、CPU、磁盤、網絡等資源封裝為一個Container,以限制任務使用的資源量。

2、應用管理器

負責管理整個系統(tǒng)的所有應用。啟動、監(jiān)控、重啟ApplicationMaster。

ApplicationMaster

與ResourceManager協(xié)商資源。
與NodeManager合作,在Container中運行、監(jiān)控任務。
在Container出現(xiàn)故障時,重新申請資源。
計算應用所需資源,轉化為ResourceManager可識別的協(xié)議信息包。
ApplicationMaster故障是,應用管理器負責重啟它,它自己恢復應用。

NodeManager

為應用啟用調度器,以便分配Container。
確保Container不使用超出分配的資源。
為任務構建Container環(huán)境。
為所在節(jié)點提供一個管理本地存儲資源的簡單服務。

Resource Request

<資源名稱,優(yōu)先級,資源需求,Container數(shù)>

Container

本質上是一種資源分配形式,是ResourceManager為Resource Request成功分配資源的結果。
Container只有使用NodeManager指定的資源的權力,Application Master必須向NodeManager提供更多信息來啟動Container。

Yarn工作流程

1、客戶端提交MapReduce任務。
2、Yarn的ResourceManager協(xié)調資源分配。
3、Yarn的NodeManager負責啟動和監(jiān)控Container。
4、ApplicationMaster負責協(xié)調MapReduce任務,它和MapReduce任務在Container中運行,這些Container由ResourceManager分配,由NodeManager管理。
5、HDFS用來與其他實體間共享文件。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容