YARN 設計理念與基本架構

2021-09-11 02:12:23 字數 1073 閱讀 1426

①排程器

該排程器是乙個 "純排程器",不再參與任何與具體應用程式邏輯相關的工作,而僅根據各個應用程式的資源需求進行分配,資源分配的單位用乙個資源抽象概念 "container" 來表示。container 封裝了記憶體和 cpu。此外,排程器是乙個可插拔的元件,使用者可根據自己的需求設計新的排程器,yarn 自身提供了 fair scheduler 和 capacity scheduler。

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

container 是 yarn 中資源抽象,它封裝了某個節點上的記憶體和 cpu,當 am 向 rm 申請資源時,rm 為 am 返回的資源便是用 container 表示的。yarn 是使用輕量級資源隔離機制 cgroups 進行資源隔離的。

在 yarn 中,任何兩個需要相互通訊的元件之間僅有乙個 rpc 協議,而對於任何乙個 rpc 協議,通訊雙方有一端是 client,另一端是 server,且 client 總是主動連線 server。yarn 中有以下幾個主要的 rpc 協議:

admin(管理員)與 rm 之間的協議:resourcemanageradministrationprotocol,admin 通過該 rpc 協議更新系統配置檔案,比如節點黑白名單、使用者佇列許可權等

nm 與 rm 之間的協議:resourcetracker,nm 通過該協議向 rm 註冊,並定時傳送心跳資訊匯報當前節點的資源使用情況和 container 運**況,並接收來自 am 的命令

am 與 nm 之間的協議:containermanagermentprotocol,am 通過該 rpc 協議要求 nm 啟動或者停止 container

yarn 的工作流程如上所示:

領取到資源後,要求對應的 nodemanager 在 container 中啟動任務

YARN 設計理念與基本架構

排程器 該排程器是乙個 純排程器 不再參與任何與具體應用程式邏輯相關的工作,而僅根據各個應用程式的資源需求進行分配,資源分配的單位用乙個資源抽象概念 container 來表示。container 封裝了記憶體和 cpu。此外,排程器是乙個可插拔的元件,使用者可根據自己的需求設計新的排程器,yarn...

YARN 設計理念與基本架構

排程器 該排程器是乙個 純排程器 不再參與任何與具體應用程式邏輯相關的工作,而僅根據各個應用程式的資源需求進行分配,資源分配的單位用乙個資源抽象概念 container 來表示。container 封裝了記憶體和 cpu。此外,排程器是乙個可插拔的元件,使用者可根據自己的需求設計新的排程器,yarn...

Yarn介紹 設計理念與基本架構

yarn 新的計算框架,是乙個全域性資源管理器,負責整個集群的資源管理和分配 一.yarn產生背景 hadoop1.0mr有侷限性,概括為以下幾個方面 擴充套件性差 可靠性差 資源利用率低 無法支援多種計算框架 二.yarn基本架構 基本架構 apache yarn的基本架構 元件構成 1 排程器 ...