map:映射; reduce:规约

MR on Yarn架构

== Yarn的架构 == mapreduce job执行流程

MapReduce的流程(面试):

  1. 用户向yarn提交应用程序(job),包括applicationMaster程序、启动applicationMaster命令等;
  2. RM为该job分配第一个容器,并与对应的nm通信,要求它在这个容器中去启动job的applicationMaster程序;
  3. applicationMaster首先向Applications Manager 注册,用户就可以直接在web界面查看job的整个运行状态和日志;
  4. applicationMaster向Resource Scheduler,采用轮询的方式通过rpc协议去申请和领取资源列表;
  5. 一旦applicationMaster申请到资源后,便与对应的NM节点通信,便于启动任务;
  6. NM为任务task设置好运行环境(环境变量,jar包等),将任务的启动命令写在一个脚本文件中,并通过脚本启动任务
  7. 各个Task通过IPC向applicationMaster汇报自己的状态和进度,以让applicationMaster随时掌握各个任务的运行状态,从而可以在任务运行时重新启动任务。则web界面可以随时查看job当前的运行状态;
  8. applicationMaster向Applications Manager汇报状态:finish 或者 success。注销并关闭自己。

2个阶段:1)启动applicationMaster;  2)由applicationMaster创建job,为它申请资源并监控它的整个运行过程,直到运行完成

 

mr on yarn架构

 

 

Yarn:

job app application 作业 应用程序 --》都是一个东西

  1. ResourceManager  资源作业管理者

                              Applications Manager   作业管理者 

                              Resource Scheduler    资源调度  

     2. NodeManager    节点者

 

shuffle

 

mr on yarn架构

相关文章: