官方文档Apache Hadoop YARN: https://hadoop.apache.org/docs/r3.3.5/hadoop-yarn/hadoop-yarn-site/YARN.html
一、什么是Yarn ?
YARN(Yet Another Resource Negotiator,另一种资源协调者)是hadoop2.0后推出的一个资源管理器。YARN是一个通用资源管理系统和调度平台,负责为运算程序提供服务器计算资源,相当于一个分布式的操作系统平台,而 MapReduce、Spark、Flink 等运行程序则相当于运行于操作系统平台之上的应用程序。
MRv2重用了MRv1中的编程模型和数据处理引擎 。但运行时环境(ResourceManager、NodeManager)被完全重写,由YARN来专门进行资源管理和任务调度。
Apache Hadoop YARN是一个主从架构集群,其中ResourceManager为Master,NodeManager为Slave。
常见的是一主多从集群,也可以搭建RM的HA高可用集群,也就是多主多从集群。
二、YARN的架构
YARN主要由ResourceManager、NodeManager、ApplicationMaster和Container组成,其中ResourceManager和NodeManager是物理集群层面的节点,ApplicationMaster是应用层面的应用,Container(Resource Container,简称Container)是一个抽象的资源分配单位。
1、ResourceManager(全局资源管理)
ResourceManager(RM)为YARN中的主角色,是一个全局的资源管理器,负责整个系统的资源管理和分配。RM接收用户的作业提交,并通过NodeManager分配、管理各个机器上的计算资源。