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基本架构_客户端



ResourceManager作用:
(1)处理客户端请求 比如客户端JobSubmission作业提交
YARN基本架构_mapreduce_02
(2)监控NodeManager
YARN基本架构_mapreduce_03
节点状态
(3)启动或监控ApplicationMaster
YARN基本架构_hadoop的餐厅主管YARN_04
监控MR状态和Resource Request 资源请求
(4)资源的分配和调度



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



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



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