Yarn运行MapReduce的具体过程
-
客户端client向YARN主节点ResourceManager提交作业job
-
主节点ResourceManager在某个DataNode从节点上启动一个Container运行applicationMaster(运行应用的管理者)
-
applicationMaster向ResourceManager请求资源,为了运行MapReduce中所有的任务; ResourceManager将分配nodeManager上的资源,并告知applicationMaste申请的资源都在那台机器上。
-
applicationMaster联系nodeManager,启动对应Container中的相关task(map task,reduce task)。
-
运行的task会实时的向applicationMaster进行汇报(心跳机制),用于监听整个应用。
-
当所有task(reduceTask)运行完成,applicationMaste告知ResourceManager,销毁applicationMaste。