1. 程式人生 > >YARN的主要元件及功能簡介

YARN的主要元件及功能簡介

--總體概述      --yarn總體上是Master/slaves結構,整個架構中,resourcemanager(RM)是主節點,nodemanager(NM)是從節點,RM對NM上的資源進行統一管理和排程;當用戶提交一個應用程式後,需要提供一個跟蹤,管理這個程式的applicationMaster(AM),AM負責像RM申請資源,並要求NM啟動可以佔用一定資源的任務,不停的AM分配到不同的節點,它們相互之間不受影響 --主要結構      --RM 負責整個系統的資源分配,主要由兩個元件構成:排程器(Scheduler),應用程式管理器Aplications Master(ASM)           --排程器                排程器只是單純的排程,不參與任何具體的計算失誤,也不負責跟蹤程式的執行狀態,執行失敗的時候,也不負責程式的kill,重啟等,這些都交由AM負責.排程器根據各個程式的需求進行資源分配,資源單位用一個抽象的概念container,它是一個資源單位,如記憶體,網路,cpu等,從而限定程式對資源的使用量.排程器是一個插拔式的單位,使用者可以根據自己的需求設計新的排程器,yarn提供了幾種現成的排程器,如Fair Scheduler,capacity Scheduler.           --應用程式管理器(Applications Master)(ASM)                負責系統中所有應用程式,提交程式、寫生資源,以啟動AM,監控AM的執行狀態,其失敗時,重啟它      --NM           每個節點上的任務和資源管理器,功能包括,定時向RM回報本節點上的記憶體,硬碟,CPU等資源的使用情況,以及各個container的執行狀態,還有接收並處理來自AM的container啟動或停止等各種請求      --ApplicationMaster(AM)           使用者提交的每個程式,都包含一個AM,主要的功能用途:               與RM進行ROC通訊,以獲取資源(contatiner)               與NM進行RPC通訊,對任務程序停止或啟動           其次,AM有多種實現,使用者也可以自定義      --container           是yarn中的,對資源的抽象,包括CPU,記憶體等(主要針對CPU,記憶體,是否在新版本中增加資源項還未研究,但是個人覺得增加的可能性不大) 編者注:轉載請註明出處,歡迎加入大資料技術交流群,群號:481116275