MapReduce 运行Yarn上详解
1)Client向Yarn主节点RM提交应用
bin/yarn jar MainClass args
(2)RM在某个NM节点上启动一个Container运行AppMaster,运行应用的管理者
(3)AppMaster向RM请求资源,为了运行MapReduce中所有的Task,RM将分配NM是哪个资源,并且告知AppMaster
(4)AppMaster联系NM,启动Container中相关Task(Map Task和Reduce Task)
(5)运行的Task会实时的向AppMaster进行汇报,用于监控整个应用。
(6)当所有Task(Reduce Task)运行完成,appMaster告知RM,销毁AppMaster
(7)RM给Client相应
个人理解:
客户发送需求给老板(resourcemanager),老板从他的员工中间找出一个来当策划经理(启动Container容器,运行AppMaster,作为应用管理者)。经理向老板请求资源,然后老板把资源下发给员工,并且通知了经理。之后经理通知各个员工开始干活(启动启动Container中的任务,map task 和reduce task)。在执行任务的时候,会不断的通知经理,来监控整个应用。当任务完成之后,老板又把经理的职位撤了。老板再去找客户反映。