yarn的基本組成結構

2021-07-12 03:02:42 字數 1700 閱讀 6189

排程器排程器根據容量、佇列等限制條件(如每個佇列分配的一定的資源、最多執行的一定數量的作業等) 將系統中的資源分配給各個正字執行的應用程式。需要注意的是,該排程器是乙個純排程器、它不在從事任何與具體應用程式相關的工作。比如不負責監控或者跟著應用的執行狀態等。也不負責重新啟動因執行失敗或者硬體故障而產生的失敗任務,這些軍交給應用程式am完成,排程器僅根據各個應用的子單元需求進行資源分配。而資源分配單位用乙個抽象概念 資源容器 簡稱 container 標示 ,它將記憶體、cpu、磁碟。網路等資源封裝在一起,從而限定每個任務使用的資源量。此外,該排程器是乙個可以插拔的元件、使用者可以根據自己的需要設計新的排程器,yarn提供了多種可以使用的排程器

比如fairscheduler和 capacity scheduler等

應用程式管理器

為了保證高可行,resourcemanager將所有的狀態資訊儲存到了zookeeper中、它可以通過儲存在zookeeper中的裝填快速重啟

am使用者提交的每個應用程式均包含乙個am 他實際上是乙個簡化版的jobtracker,主要功能包括

1、與rm排程器協商已獲取資源

2、與nm通訊以啟動、停止任務

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

nodemanager 

nm是每個節點上的資源和任務管理器、一方面他會定時的想rm回報本節點上的資源使用情況,和哥哥container的執行狀態,另外乙個方面 它會接受處理來自am的任務啟動 、停止等各種情況

container

是yarn中的資源分配單位,他封裝了多維的資源,如記憶體,cpu 磁碟。網路 等 當am想rm申請資源的時候 rm為am返回的資源便是用 container表示的

yarn中每個任務俊輝對於乙個container,且該任務只能在該conainer中執行,並僅能使用該容器代表的資源量。需要注意ide是,container不同mrv1種的slot 他是乙個動態資源劃分單位、 根據應用程式的需求動態生成的。 yarn支援cpu 和記憶體兩種資源、使用linux container進行資源隔離

rpc協議

1、job client 作業提交客戶端 與rm之間的協議。 client rmprotocol client通過該rpc協議提交應用程式,查詢應用程式狀態等。

2、administrator管理員與rm之間的通訊協議, rmadmiprotocol  administrator通過該rpc協議跟新系統配置檔案,比如節點黑名單,使用者佇列許可權等

3、am與rm之間的協議  amrmprotocol  jobam通過該rpc協議想rm註冊和撤銷自己。並為哥哥任務申請資源

4、am與nm之間的協議  containermanager am通過該rpc協議要求nm啟動或者停止container 獲取各種container的使用狀態等資訊

5、nm與rm之間的協議 resourcetracker nm通過該rpc協議想rm註冊,兵哥定時傳送心跳資訊回報給當前節點的資源使用情況和container運**況

yarn工作流程

並監控它的整個執行過程,知道執行成功。如圖1 

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

8、應用程式執行完成後、aplicationmaster向 resucemaanager登出,並關閉自己。

yarn在系統架構和軟體設計等方面和mrv1相比都有明顯的改進。在前幾節

YARN基本組成結構

yarn 基本架構 yarn基本組成結構 1 排程器 2 應用程式管理器 使用者提交的每個應用程式均包含乙個am,主要功能包括 與rm排程器協商以獲取資源 用container表示 將得到的任務進一步分配給內部的任務 與nm通訊以啟動 停止任務 監控所有任務執行狀態,並在任務執行失敗時重新為任務申請...

server基本組成

字串操作封裝,如 數字字串轉換 分隔符拆分 等常用操作 string handle 網路基礎資料結構,如 ip數字轉換 獲取網域名稱 物件池封裝 位儲存 bit map 序列化反序列化buffer octets,能夠支援寫時拷貝以及壓縮功能 阻塞佇列 block queue ring buffer ...

Docker基本組成

docker client 客戶端 docker daemon 守護程序 c s架構的程式,docker客戶端向docker的伺服器端 守護程序 發出請求,守護程序處理完所有的工作,並返回結果 客戶端對伺服器端的訪問既可以在本地也可以在遠端來訪問。docker image 映象 1 理解一 映象是d...