YARN概述

YARN產生背景

運維成本

如果采用“一個框架一個集群”的模式,則可能需要多個管理員管理這些集群,進而增加運維成本,而共享模
式通常需要少數管理員即可完成多個框架的統一管理。

數據共享

隨著數據量的暴增,跨集群間的數據移動不僅需花費更長的時間,且硬件成本也會大大增加,而共享集群模式可讓多種框架共享數據和硬件資源,將大大減少數據移動帶來的成本。

計算資源共享

離線批處理任務主要集中在凌晨執行,資源使用有明顯的波峰波谷
交互式數據分析,資源使用主要集中在工作日的上班時段
實時流計算、圖計算、數據模型訓練等各種類型的計算任務需要不同的CPU、內存等計算資源

YARN主要功能

1、集群資源管理系統
2、負責集群的統一管理和調度
3、與客戶端交互,處理客戶

YARN基本結構

YARN結構.jpg

YARN核心組件

ResourceManager

  • 整個集群只有一個Master
  • 處理客戶端請求
  • 啟動/監控ApplicationMaster
  • 監控NodeManager
  • 資源分配和調度

NodeManager

  • 集群中存在多個,每個節點一個,和Datanode部署在同一機器中
  • 單個節點上的資源監控和管理
  • 定時向ResourceManager匯報本機的資源使用情況
  • 處理來自ResourceManager的請求,為作業的執行分配Container
  • 處理來自ApplicationMaster的請求,啟動和停止Container

ApplicationMaster

  • 每個應用程序只有一個,負責應用程序的管理,資源申請和任務調度。
  • 與ResourceManager協商為應用程序申請資源
  • 與NodeManager通信啟動/停止任務
  • 監控任務運行狀態和失敗處理

Container

  • 任務運行環境的抽象,只有在分配任務的時候才會抽象出一個Container。
  • 描述一系列信息
  • 任務運行資源(節點、內存、 CPU)
  • 任務啟動命令
  • 任務運行環境

YARN容錯性

ResourceManager

基于Zookeeper實現高可用

NodeManager(簡稱NM)

NM故障將導致運行在該節點的任務失敗,任務失敗后, RM將失敗任務通知對應的AM
AM決定如何處理失敗的任務

ApplicationMaster(簡稱AM)

AM失敗后,由RM負責重啟
AM會保存已經運行完成的Task,重啟后無需重新運行

未完待續。。。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容