1.x版本和2.x架构区别

1.x版本时代:Hadoop中的MapReduce同时处理业务逻辑运算和资源的调度,耦合性较大
2.x版本 增加了Yarn Yarn只负责资源的调度,MapReduce只负责运算

Yarn概述

Yarn是一个资源调度平台,负责运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而MapReduce等运算程序相当于运行操作系统上的应用程序

Yarn 基本架构

yarn主要是由ResourceManager 总的资源调度
NodeManager 节点的资源调度
,ApplicationMaster 任务的资源调度
Container 容器,分配CPU,内存,IO等

YARN基本架构_ YARN

  1. ResourceManager作用:
    (1)处理客户端请求 比如客户端JobSubmission作业提交
    YARN基本架构_ YARN_02
    (2)监控NodeManager
    YARN基本架构_YARN教程_03
    节点状态
    (3)启动或监控ApplicationMaster
    YARN基本架构_YARN教程_04
    监控MR状态和Resource Request 资源请求
    (4)资源的分配和调度

  2. NodeManager(NM)主要作用
    (1)管理单个节点上的资源
    (2)处理来自ResourceManager的命令
    (3)处理来自ApplicationMaster的命令

  3. ApplicationMaster(AM)作用
    (1)负责数据的划分(切片)根据切片信息,分配多少个MapTask
    (2)为应用程序申请资源并分配给内部任务
    (3)任务的监控与容错

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