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

2021-09-26 14:44:14 字數 2051 閱讀 2979

yarn : 新的計算框架,是乙個全域性資源管理器,負責整個集群的資源管理和分配

一. yarn產生背景

hadoop1.0mr有侷限性,概括為以下幾個方面 : 

擴充套件性差

可靠性差

資源利用率低

無法支援多種計算框架

二. yarn基本架構

基本架構

apache yarn的基本架構

元件構成

1)排程器:

它僅僅是乙個單純的「排程器」,不參與 集群的其他任何操作,負責給各個應用程式的資源進行分配,基本分配單位是乙個資源抽象概念「container」,container封裝了記憶體和cpu。

3)container

container是yarn的資源抽象,container封裝了某個節點記憶體和cpu,當am向rm申請資源時,rm為am 返回的資源用container表示。負責對各個應用程式的資源進行分配

4)nodemanager(nm)

是每乙個節點的資源和任務管理器,1會定時向rm匯報它所在節點的資源使用情況和container的執行狀態;2可以處理來自am傳送的container的啟動/停止等等命令

5)resourcemanager(rm)

全域性資源管理器,負責整個集群集群的資源管理與分配, rm作為整個集群的資源管理與分配的角色,如果出現單點故障(單個節點宕掉),hadoop2.4.0版本之前,無法在進行資源管理與分配,hadoop2.4.0版本出現之後有了ha(高可用),可以增加rm的可用性(出現單點故障不影響rm執行)

通訊協議

yarn的通訊協議 - rpc協議,rpc協議是連線各個元件的,在yarn中,任何兩個需相互通訊的元件之間僅有乙個rpc協議,而對於任何乙個rpc協議,通訊雙方有一端是client,有一端為server,且client總是主動連線server的,因此,yarn實際上採用的拉式(pull-based)通訊模型

yarn的rpc協議

yarn主要由以下幾個rpc協議組成 :

admin ---> rm(resourcemanageradministrationprotocol) : admin通過該協議更新系統配置檔案,比如節點黑白名單,使用者佇列許可權等

am ---> nm(containermanagementprotocol) : am通過該rpc要求nm啟動或者停止container,獲取各個container的使用狀態等資訊

nm ---> rm(resourcetracker) : nm通過該rpc協議向rm註冊,並定時傳送心跳資訊會報當前節點的資源使用情況和container運**況

任務執行流程

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

三. 多角度理解yarn

並行程式設計

單機程式設計,為了快速處理乙個大的資料集,通常採用多執行緒並行程式設計,有作業系統啟動主線程,由它切分資料,任務分配,子執行緒啟動和銷毀等工作,而各個子執行緒只負責計算自己的資料,當所有子執行緒處理完資料後,主線程退出

資源管理

資源管理系統的主要功能是對集群中各類資源進行抽象,並根據各種應用程式或者服務的要求,按照一定的排程策略,將資源分配給他們使用,同時需採用一定的資源隔離機制防止應用程式或者服務之間因資源搶占而相互干擾

雲計算

普遍認為,雲計算包括以下幾個層次的服務 : 

從雲計算分層概念上講,yarn可看做paas層,它能為不用型別的應用程式提供統一的管理和排程

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

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

YARN 設計理念與基本架構

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

YARN 設計理念與基本架構

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