1.x
- master/slave: jobTracker/taskTracker
- JobTrack: 單點、壓力大
- 僅僅只能夠支持mapreduce作業,資源利用率低、運維成本高
yarn
- 資源管理 rm nm
- 作業調度 am
client
向rm提交任務,殺死任務等
am
- 每一個應用程序對應一個am
- am想rm申請資源,用于在nm上啟動對應的task
- 數據切分
- 為每個task向rm申請資源(container)
- nm通信
- 任務的監控
nm
- 干活,多個
- 想rm發送心跳信息、任務的執行情況
- 接收來著rm的請求來啟動任務
*處理來著am的命令
rm
處理來著客戶端的請求:提交、殺死
啟動、監控am
監控nm
資源相關
container
- 任務的運行抽象,memory,cpu
- task是運行在container里面的
- 可以運行am、也可以運行map/resuce task