1.x版本和2.x架构区别
1.x版本时代:Hadoop中的MapReduce同时处理业务逻辑运算和资源的调度,耦合性较大
2.x版本 增加了Yarn Yarn只负责资源的调度,MapReduce只负责运算
Yarn概述
Yarn是一个资源调度平台,负责运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而MapReduce等运算程序相当于运行操作系统上的应用程序
Yarn 基本架构
yarn主要是由ResourceManager 总的资源调度
NodeManager 节点的资源调度
,ApplicationMaster 任务的资源调度
Container 容器,分配CPU,内存,IO等
ResourceManager作用:
(1)处理客户端请求 比如客户端JobSubmission作业提交
(2)监控NodeManager
节点状态
(3)启动或监控ApplicationMaster
监控MR状态和Resource Request 资源请求
(4)资源的分配和调度
NodeManager(NM)主要作用
(1)管理单个节点上的资源
(2)处理来自ResourceManager的命令
(3)处理来自ApplicationMaster的命令
ApplicationMaster(AM)作用
(1)负责数据的划分(切片)根据切片信息,分配多少个MapTask
(2)为应用程序申请资源并分配给内部任务
(3)任务的监控与容错
Container容器
Container是YARN中的资源抽象,封装了某个节点上的多维度资源,如内存,CPU,磁盘,网络等