12.5 大数据集群资源管理系统 Yarn

用户头像
张荣召
关注
发布于: 2020 年 12 月 14 日

1.YARN:Yet Another Resource Negotiator

下一代MapReduce框架的名称。

不再是一个传统的MapReduce框架,甚至与MapReduce无关。

一个通用的运行时框架,用户可以编写自己的计算框架,在该运行环境中运行。



解析:

1.资源管理器:集群中唯一角色。管理集群中所有计算资源。

2.节点管理器:集群中每台服务器上都部署有节点管理器。节点管理器管理本地计算资源。

资源单位叫容器(逻辑容器,非物理容器)

                      节点管理器将CPU核心, 内存,打包成容器资源进行调度。

                      节点管理器检查CPU核心,内存,决定启动多少个容器。

3.容器:JVM进程。

4.架构相似性:一主多从:大数据架构特色

       HDFS(Name Node+DataNode),

       MapReduce1(JobTracker+TaskTracker),

       Yarn(资源管理器+节点管理器)

2.启动过程:应用程序申请大数据计算

1.应用程序从资源管理器申请资源:

2.资源管理器从节点管理器寻找空闲容器分配给应用程序。

3.应用程序和容器通信

4.容器启动进程:应用的主程序ApplicationMaster

5.ApplicationMaster向资源管理器通信,决定需要多少个容器资源

6.资源管理器分配多个容器

7.ApplicationMaster向容器启动多个计算任务

3.MapReduce在Yarn架构下启动过程

1.基于Yarn编写MapReduce程序。

2.应用程序和资源管理器通信,声明要启动大数据计算任务。

3.资源管理器向节点管理器通信,节点管理器寻找本地空闲容器给应用程序。

4.应用程序在空闲容器中启动ApplicationMaster

5.ApplicationMaster主要角色职责:MapReduce1的JobTracker(除资源管理外)--JobInProcess(JIP树--TaskInProcess-TaskAttempt)。

   JIP树构建好后,就直到需要多少个计算资源(需要启动多少个Task--多少个容器)。

6.ApplicationMaster向资源管理器申请所需的容器,比如:需要50个容器(30个Map,20个Reduce)。

7.资源管理器检查节点管理器汇报过来的空闲容器资源,分配给ApplicationMaster.

8.ApplicationMaster给容器分配任务。   



MapReduce2 :资源管理代码剥离出去,交给Yarn去做。MapReduce2本身专注计算过程的代码。



用户头像

张荣召

关注

还未添加个人签名 2018.05.02 加入

还未添加个人简介

评论

发布
暂无评论
12.5大数据集群资源管理系统Yarn