YARN調度架構
- esourceScheduler是YARN的調度器,負責Container的分配。
- AsyncDispatcher是單線程的事件分發器,負責向調度器發送調度事件。
- ResourceTrackerService是資源跟蹤服務,主要負責接收處理NodeManager的心跳信息。
- ApplicationMasterService是作業的RPC服務,主要負責接收處理作業的心跳信息。
- AppMaster是作業的程序控制器,負責跟YARN交互獲取/釋放資源。
AppMaster
AppMaster
是一個yarn任務運行時第一個由RM啟動的container,然后負責整個任務的運行,包括container的申請、啟動、kill、狀態檢查等。ApplicationMaster屬於應用程序級,其實現不是由Yarn框架提供(歷史原因,yarn提供了MapReduce的AppMaster的實現),需要用戶自己實現AppMaster進程的具體實現。