Hadoop的MapReduce和Yarn

1. Yarn是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而mapreduce等运算程序则相当于运行于操作系统之上的应用程序;Yarn是hadoop2.0版本新添加的;

2.YARN基本组成结构:

YARN 主要由ResourceManagerNodeManagerApplicationMasterContainer 等几个组件构成。

      1) Resource Manager:主要由两个组件构成:调度器(Scheduler)和(Applications Manager,ASM);调度器:将系统中的资源分配给各个正在运行的应用程序;应用程序管理器:应用程序管理器负责管理整个系统中所有应用程序,包括应用程序提交、与调度器协商资源以启动ApplicationMaster、监控ApplicationMaster 运行状态并在失败时重新启动它等。

  2) ApplicationMaster:

  •   与RM 调度器协商以获取资源(用 Container 表示);
  •   将得到的任务进一步分配给内部的任务;
  •   与 NM 通信以启动 / 停止任务;
  •   监控所有任务运行状态,并在任务运行失败时重新为任务申请资源以重启任务。

  3 NodeManager(NM):NM 是每个节点上的资源和任务管理器;

  (NM与ApplicationMaster的区别是NM是控制整台机器资源和任务管理,而AM是控制每个应用的资源和任务管理)

  4 Container:是YARN 中的资源抽象,它封装了某个节点上的多维度资源,如内存、CPU、磁盘、网络等。

3. Yarn的具体工作流程图如下:

Hadoop的MapReduce和Yarn_第1张图片






你可能感兴趣的:(Hadoop)