MapReduce
分布式计算框架 ,其中Map指映射元素的个数,Reduce指归约。
MR on yarn 架构
流程详解
1)用户向yarn rm apps manager提交作业(job),其中包括applicationMaster程序、、启动applicationMaster命令等。
2)RM为该job分配第一个容器,并与对应的NM通信,要求它运行这个容器并在这个容器中去启动该job的MR applicationMaster程序。
3)applicationMaster首先向Applications Manager注册,用户就可以直接在web界面查看job的整个运行状态和日志。
4)applicationMaster向Resource Scheduler 采用轮询的方式通过RPC协议去申请和领取资源列表
5)一旦applicationMaster申请到资源的后,便与对应的NM节点通信,要求启动任务。
6)NM为任务task设置好运行环境(环境变量、jar包等),将任务的启动命令写在一个脚本文件中,并通过这个脚本【启动任务】;
7)各个task通过rpc向applicationMaster汇报自己的状态和进度。以让applicationMaster随时掌握各个任务的运行状态,从而可以在任务运行时重新启动任务。则web界面可以实时查看job的当前的运行状态。
8)job运行完成后,applicationMaster向RM注销并关闭自己。
2个阶段:
第一阶段:启动applicationMaster
第二阶段:由applicationMaster创建job,为它上去
资源,并监控它的整个运行过程,直到运行完成。
Shuffle剖析