大数据入门:Hadoop Yarn组件基础解析

2020-11-26 18:20:58 浏览数 (1)

在Hadoop框架当中,Yarn组件是在Hadoop2.0之后的版本开始引入,主要是为了解决资源管理和调度的相关问题,是在大数据平台的实际运用当中,根据实际需求而引入的解决方案。今天的大数据入门分享,我们就来对Hadoop Yarn组件做个简单的基础解析。

Yarn简介

Yarn是Yet Another Resource Negotiator的缩写,在Hadoop生态当中,作为通用的资源管理系统与调度平台,去实现CPU、内存、磁盘、网络等资源进行统一管理与拆分,以容器的形式,为上层应用提供统一的资源服务。

Yarn主要包含四大组件,分别为ResourceManager、NodeManager、ApplicationMaster、Container。

Yarn核心概念

1、ResourceManager

ResourceManager是Yarn集群的Master进程,主要负责整个集群资源的统一管理和分配,当我们提交一个作业给Yarn,实际上就是提交给了ResourceManager,并由它协调分配相应的资源,这样程序才能得以运行。

2、NodeManager

NodeManager是Yarn集群的Slave进程,主要负责所在节点的资源和任务管理,它是每台机器的框架代理,管理着容器的生命周期,监视其资源使用情况(CPU,内存,磁盘,网络)并将其报告给ResourceManager。

ResourceManager和NodeManager共同构成了数据计算框架,使Yarn具备了资源管理和协调能力。

3、ApplicationMaster

ApplicationMaster实际上是特定计算框架的一个实例,每种计算框架都有自己的ApplicationMaster实现,负责与ResourceManager协商资源,并和NodeManager协同来执行和监控Container。

4、Container

Container是一个动态资源分配单位,它将内存、CPU、磁盘、网络等资源封装在一起,从而限定每个任务使用的资源量。ApplicationMaster和Container组成了分布式计算的框架基础,分布式计算的代码就是在这二者进程内执行。

Yarn工作原理

Yarn的加入,弥补了经典Hadoop模型在扩展性,效率上和可用性等方面存在的明显不足,可以说它是Apache对Hadoop1进行升级改造。

Yarn的引入主要两个重要的变更:一个是HDFS的NameNode可以以集群的方式部署,增强了NameNode水平的扩展能力和高可用性,分别是HDFS Federation与HA,二是MapReduce将Hadoop1时代的JobTracker中的资源管理和任务生命周期管理(包括定时触发及监控),拆分两个独立的组件(Resource Manager和Application Master),并更名为Yarn(yet Another Resource Negotiator)。

Yarn仍然是master/slave的架构,其中ResourceManager充当了master的角色,NodeManager充当了slave的角色,Resource Manager负责对多个NodeManager的资源进行统一管理和调度。

Yarn运行机制

由于Yarn并不清楚用户提交的程序的运行机制,只提供运算资源的调度,Yarn其实就与运行的用户程序完全解耦,就意味着Yarn上可以运行各种类型的分布式运算程序,包括Mapreduce、Storm、Spark……

Yarn就成为一个通用的资源调度平台,企业中以前存在的各种运算集群都可以整合在一个物理集群上,提高资源利用率,方便数据共享Yarn工作机制。

关于大数据入门,Hadoop Yarn组件基础解析,以上就为大家做了简单的介绍了。Hadoop在大数据技术生态当中的重要性不言而喻,而Yarn作为Hadoop的核心组件之一,也需要重点掌握。

0 人点赞