Hadoop Yarn 框架原理及運作機制

2021-07-25 04:37:53 字數 1373 閱讀 9678

1.1 yarn 基本架構

1.2 yarn基本組成結構

(1)排程器

排程器根據容量、佇列等限制條件(如每個佇列分配一定的資源,最多執行一定數量的作業等),將系統中的資源分配給各個正在執行的應用程式。

(2)應用程式管理器

使用者提交的每個應用程式均包含1個am,主要功能包括:

與rm排程器協商以獲取資源(用container表示);

將得到的任務進一步分配給內部的任務;

與nm通訊以啟動/停止任務;

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

3. nodemanager(nm)

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

4. container

container是yarn中的資源抽象,它封裝了某個節點上的多維度資源,如記憶體、cpu、磁碟、網路等,當am向rm申請資源時,rm為am返回的資源便是用container表示的。yarn會為每個任務分配乙個container,且該任務只能使用該container中描述的資源。

需要注意的是,container不同於mrv1中的slot,它是乙個動態資源劃分單位,是根據應用程式的需求動態生成的。截至本書完成時,yarn僅支援cpu和記憶體兩種資源,且使用了輕量級資源隔離機制cgroups進行資源隔離。

1.3  yarn工作流程

當使用者向yarn中提交乙個應用程式後,yarn將分兩個階段執行該應用程式:

如圖2-11所示,yarn的工作流程分為以下幾個步驟:

步驟6 nodemanager為任務設定好執行環境(包括環境變數、jar包、二進位制程式等)後,將任務啟動命令寫到乙個指令碼中,並通過執行該指令碼啟動任務。

1.4 多角度理解yarn

Hadoop Yarn 框架原理及運作機制

1.1 yarn 基本架構 1.2 yarn基本組成結構 1 排程器 排程器根據容量 佇列等限制條件 如每個佇列分配一定的資源,最多執行一定數量的作業等 將系統中的資源分配給各個正在執行的應用程式。2 應用程式管理器 使用者提交的每個應用程式均包含1個am,主要功能包括 與rm排程器協商以獲取資源 ...

Hadoop Yarn 框架原理及運作機制

1.1 yarn 基本架構 1.2 yarn基本組成結構 container 等幾個元件構成。1 排程器 排程器根據容量 佇列等限制條件 如每個佇列分配一定的資源,最多執行一定數量的作業等 將系統中的資源分配給各個正在執行的應用程式。container 表示,container是乙個動態資源分配單位...

Hadoop Yarn 框架原理及運作機制

1.yarn 基本架構 2.yarn基本組成結構 1 排程器 排程器根據容量 佇列等限制條件 如每個佇列分配一定的資源,最多執行一定數量的作業等 將系統中的資源分配給各個正在執行的應用程式。2 應用程式管理器 使用者提交的每個應用程式均包含1個am,主要功能包括 與rm排程器協商以獲取資源 用con...