服務功能
ResouceManager:
1、處理客戶端的請求
2、啟動和監控ApplicationMaster
3、監控nodemanager
4、資源的分配和調度
Nodemanager
1、處理單個節點的資源管理
2、處理來自ResouceManager的命令
3、處理來自ApplicationMaster的命令
ApplicationMaser
1、為應用程序申請資源,並分配給內部任務
2、任務的監控和容錯
Container
對多任務運行環境的抽象,包括CPU、內存等多維度資源以及環境變量、啟動命令等任務運行的相關環境
運行流程
1、客戶端向RM中提交程序
2、RM向NM中分配一個container,並在該container中啟動AM
3、AM向RM注冊,這樣用戶可以直接通過RM査看應用程序的運行狀態(然后它將為各個任務申請資源,並監控它的運行狀態,直到運行結束)
4、AM采用輪詢的方式通過RPC協議向RM申請和領取資源,資源的協調通過異步完成
5、AM申請到資源后,便與對應的NM通信,要求它啟動任務
6、NM為任務設置好運行環境(包括環境變量、JAR包、二進制程序等)后,將任務啟動命令寫到一個腳本中,並通過運行該腳本啟動任務
7、各個任務通過某個RPC協議向AM匯報自己的狀態和進度,以讓AM隨時掌握各個任務的運行狀態,從而可以在任務失敗時重新啟動任務
8、應用程序運行完成后,AM向RM注銷並關閉自己
關閉historyserver
mr-jobhistory-daemon.sh stop historyserver