十四、YARN核心架构

1、目标

(1)掌握YARN的运行角色和角色之间的关系

(2)理解使用容器做资源分配和隔离

2、核心架构

(1)和HDFS架构的对比

HDFS架构:

十四、YARN核心架构_第1张图片

YARN架构:(主从模式)

十四、YARN核心架构_第2张图片

(2)角色解释

ResourceManager:整个集群的资源调度者,负责协调各个程序所需要的资源。

NodeManager:单个服务器的资源调度者,负责调整单个服务器上的资源供给应用程序使用。

        在这里,我们可以将ResourceManager理解为一个项目的总经理,将NodeManager理解为每一个模块的负责人。

十四、YARN核心架构_第3张图片

3、运行机制

(1)分配

        在2(2)中,我们提到,如果某个程序需要申请12G的内存空间,那个它就会向ResourceManager提出申请,ResourceManager收到申请之后,会向每个NodeManager发送命令(此处假设有三台NodeManager),会要求每一台NodeManager准备4G内存。

        此处存在一个问题,每台NodeMangager是如何精准的划分出4G内存空间呢?

(2)解决方案

        在这里,我们将每台NodeManager开辟出来的空间称之为“容器”。

        容器:英文名为Container,假设在运行程序时,ResourceManager要求A服务器开辟4G空间供程序使用,那么该服务器的NodeManager会先在该服务器中划分出4G的空间内存,然后将划分出来的内存空间交给程序使用。(注:容器是虚拟化的相关装置,后面会讲解。)

十四、YARN核心架构_第4张图片

        在这里,划分出来的4G空间被称为“容器”,每个容器的大小上限是不变的,也就意味着该程序在此服务器内,只能使用4G大小的内存空间,如果超出了4G,就需要另外再次申请。

十四、YARN核心架构_第5张图片

 4、总结

十四、YARN核心架构_第6张图片

你可能感兴趣的:(Hadoop,hdfs,hadoop,yarn,mapreduce,大数据)