0
点赞
收藏
分享

微信扫一扫

Hadoop YARN介绍(私密版 )


 

翻译插件: 

Hadoop YARN介绍(私密版 )_应用程序

Yarn通俗介绍:

Hadoop YARN介绍(私密版 )_初始化_02

 

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

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

 

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

 

 

Hadoop YARN介绍(私密版 )_用户程序_03

 

Yarn基本架构

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

ResourceManager负责所有资源的监控、分配和管理;

ApplicationMaster负责每一个具体应用程序的调度和协调;

NodeManager负责每一个节点的维护。

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

小总结:

Hadoop YARN介绍(私密版 )_用户程序_04

提示下:(yarn前端那个不一样)

Hadoop YARN介绍(私密版 )_应用程序_05

 

Yarn运行流程

整体图:

Hadoop YARN介绍(私密版 )_用户程序_06

查找东西: 

 

Hadoop YARN介绍(私密版 )_初始化_07

Hadoop YARN介绍(私密版 )_用户程序_08

提交的资源:

Hadoop YARN介绍(私密版 )_初始化_09

 

  • client向RM提交应用程序,其中包括启动该应用的ApplicationMaster的必须信息,例如ApplicationMaster程序、启动ApplicationMaster的命令、用户程序等。
  • ResourceManager启动一个container用于运行ApplicationMaster。
     
  • 启动中的ApplicationMaster向ResourceManager注册自己,启动成功后与RM保持心跳。
     
  • ApplicationMaster向ResourceManager发送请求,申请相应数目的container。
  • ResourceManager返回ApplicationMaster的申请的containers信息。申请成功的container,由ApplicationMaster进行初始化。container的启动信息初始化后,AM与对应的NodeManager通信,要求NM启动container。AM与NM保持心跳,从而对NM上运行的任务进行监控和管理。
  • container运行期间,ApplicationMaster对container进行监控。container通过RPC协议向对应的AM汇报自己的进度和状态等信息。
  • 应用运行期间,client直接与AM通信获取应用的状态、进度更新等信息。
  • 应用运行结束后,ApplicationMaster向ResourceManager注销自己,并允许属于它的container被收回。

 

Hadoop YARN介绍(私密版 )_初始化_10

Hadoop YARN介绍(私密版 )_应用程序_11

 

举报

相关推荐

0 条评论