Yarn架構
????Client尖啡、ResourceManager项玛、NodeManager荞估、ApplicationMaster
Client:向RM提交任務咳促、殺死任務等
ApplicationMaster:每個應用程序對應一個AM稚新,AM向RM申請資源用于在NM上啟動對應的Task,數據切分跪腹,為每個task向RM申請資源(container)褂删,NM通信,任務的監(jiān)控
NodeManager:存在多個冲茸,真正干活的屯阀,向RM發(fā)送心跳信息、任務的執(zhí)行情況轴术、接收來自RM的請求來啟動任務难衰,處理來自AM的命令
ResourceManager:集群中同一時刻對外提供服務的只有1個,負責資源相關的調度膳音,處理來自客戶端的請求:提交召衔、殺死
啟動、監(jiān)控AM祭陷,監(jiān)控NM
執(zhí)行流程:
首先客戶端提交一個應用程序到Yarn苍凛,肯定第一個事情是和RM進行交互,RM給這個任務在任意一個NM分配一個container兵志,換句話說就是RM和NM進行通信要求NM開啟一個container來運行任務的AM醇蝴,AM啟動了之后會注冊到RM。這樣RM可以監(jiān)控AM的實時情況想罕,并且在注冊的同時向RM申請資源然后在NM啟動對應的Task任務