Hadoop Yarn 框架原理及運作機制

2021-07-25 21:08:13 字數 1589 閱讀 7535

1.1 yarn 基本架構

1.2 yarn基本組成結構

container

等幾個元件構成。

(1)排程器

排程器根據容量、佇列等限制條件(如每個佇列分配一定的資源,最多執行一定數量的作業等),將系統中的資源分配給各個正在執行的應用程式。container)表示,container是乙個動態資源分配單位,它將記憶體、cpu、磁碟、網路等資源封裝在一起,從而限定每個任務使用的資源量。此外,該排程器是乙個可插拔的元件,使用者可根據自己的需要設計新的排程器,yarn提供了多種直接可用的排程器,比如fair scheduler和capacity scheduler等。

(2)應用程式管理器

(am)

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

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

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

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

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

spark等。

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

Hadoop Yarn 框架原理及運作機制

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