1.mapreduce&yarn的工作机制----吸星大法
mapreduce与yarn的工作机制详解
1.客户端首先向yarn发送程序(mapreducer)运行的申请
2.resources manager 收到申请后会向客户端返回一个资源提交地址(hdfs://xxx.../.staging/application_id)
3.客户端会向这个地址提交任务信息(job.split/job.xml/xxx.jar)
4.客户端资源提交完毕之后会向resources manager申请一个MRAppmster(负责mapreducer程序的过程调度和状态协调)
5.resouces manager 将用户请求封装成一个task对象放入任务调度池
6.然后nodemanager会在发送心跳和resources manager通信时收到任务信息,就会去领取任务。
7.nodemanager领取到任务之后,启动MRAppmaster(进程),然后查看任务信息,下载任务资源。
8.获取相应的切片信息splits,判断该去多少个maptask然后向resources manager申请运行资源container运行容器,用来运行maptask。
9.其他节点通过心跳领取到任务。
10. mrappmaster发送命令到节点启动maptask。
11.当所有的maptask运行结束后,mrappmaster再向resources manager申请reducer运行资源,启动reducer task。
12.reducer 运行完成之后,mrappmaster会向resources manager申请注销自己所占的运行资源。