从今天开始,我们就进入到Yarn部分的学习!!

Yarn快速系列入门(1) | 基本架构与四大组件_spark

Yarn快速系列入门(1) | 基本架构与四大组件_mapreduce_02

 

 


一. 什么是Yarn

  Apache Hadoop YARN (Yet Another Resource Negotiator,另一种资源协调者)是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统和调度平台,可为上层应用提供统一的资源管理和调度。
它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。

我们可以把yarn理解为相当于一个分布式的操作系统平台,而mapreduce等运算程序则相当于运行于操作系统之上的应用程序,Yarn为这些程序提供运算所需的资源(CPU,内存,磁盘等)。

同时大家需要了解以下几点:

  • yarn并不清楚用户提交的程序的运行机制
  • yarn只提供运算资源的调度(用户程序向yarn申请资源,yarn就负责分配资源)
  • yarn中的主管角色叫ResourceManager
  • yarn中具体提供运算资源的角色叫NodeManager
  • yarn与运行的用户程序完全解耦,意味着yarn上可以运行各种类型的分布式运算程序,比如mapreduce、storm,spark等
  • spark、storm等运算框架都可以整合在yarn上运行,只要他们各自的框架中有符合yarn规范的资源请求机制即可
  • yarn成为一个通用的资源调度平台.企业中以前存在的各种运算集群都可以整合在一个物理集群上,提高资源利用率,方便数据共享
二. Yarn的基本结构

Yarn快速系列入门(1) | 基本架构与四大组件_mapreduce_03

  YARN是一个资源管理、任务调度的框架,主要包含四大模块:ResourceManager(RM)、NodeManager(NM)、ApplicationMaster(AM)和Container。

其中:

  ResourceManager负责所有资源的监控、分配和管理,一个集群只有一个;

  NodeManager负责每一个节点的维护,一个集群有多个。

  ApplicationMaster负责每一个具体应用程序的调度和协调,一个集群有多个;

  对于所有的applications,RM拥有绝对的控制权和对资源的分配权。而每个AM则会和RM协商资源,同时和NodeManager通信来执行和监控task。

三. Yarn的四大组件

Yarn快速系列入门(1) | 基本架构与四大组件_mapreduce_04
  上图详细介绍了Yarn各主要组件的作用


好了,本次的内容分享就到这里,下一篇博客将为大家介绍Yarn的运行流程,敬请期待!!!