YARN架构体系(组件,RPC通信协议,工作交互流程)入门理解

前提提要:本篇文章内容包括了YARN的三大组件,RPC通信协议的概述,以及YARN的具体的工作流程,对于YARN的相关细节没有做过多的概述(如RPC通信协议),请选择性观看,内容均原创总结,以自己认为通俗的语言来描述,除图片非原创。

(学习YARN,第一步就是要去理解YARN,而第一步理解YARN的关键,是了解三大部件负责的功能,要花费大量的时间去思考记忆,当你看到RM,NM,ASM,AM,Container这些术语时能清晰的了解到它们的功能的时候,那么你就可以理解它们之间的交互流程了,理解了交互流程和每个部件的作用,你YARN的理解性入门才算完成,更深一层的学习终究还是要回归到源码。)

一.YARN的三大组件(RM,NM,AM)

YARN架构体系(组件,RPC通信协议,工作交互流程)入门理解_第1张图片

严格来说,YARN只包含两个组件,ResourceManager以及NodeManager。而ApplicationMaster只是一个YARN的客户端

1.ResourceManager(RM)功能

RM包括两部分:

Scheduler(定时调度器):

只负责调度管理Containers,不关心其它任何事情。

ApplicationsManager(ASM应用管理器):

①接收job请求,为应用分配第一个Container来运行ApplicationMaster。

②监控ApplicationMaster。

RM具体功能如下:

YARN架构体系(组件,RPC通信协议,工作交互流程)入门理解_第2张图片

2.NodeManager(NM)功能

①接收来自RM的资源分配请求,分配具体的Container给应用

②监控并报告Container的使用信息给RM

上述可知,NM只负责处理资源分配请求,分配Container,并且监控Container,那么,运行在上面的应用信息是谁知道的呢?

------ApplicationMaster:在RM的ASM接收到用户的job请求后,会向NM申请一个容器Container运行应用程序的ApplicationMaster(AM),这个人,它负责监控应用程序的所有信息。

NM具体功能如下:

YARN架构体系(组件,RPC通信协议,工作交互流程)入门理解_第3张图片

3.ApplicationMaster(AM)功能

YARN架构体系(组件,RPC通信协议,工作交互流程)入门理解_第4张图片

YARN架构体系(组件,RPC通信协议,工作交互流程)入门理解_第5张图片

二.YARN的分布式通信协议(RPC协议)

RPC:Remote Procedure Call远程过程调用的缩写。RPC协议采用的是C/S架构模式,也就是Client/Server模式,并且Client总是以主动去连接Server。

三.YARN的具体工作时不同组件交互流程

第一步:Client客户端向ResourceManager中的Applications Manager提交Job请求,其中包括ApplicationMaster程序,以及启动ApplicationMaster的指令,用户程序等

第二步:ResourceManager中的Applications Manager为应用程序在一个NodeManager中分配一个Container,并与Container所属的NodeManager通信,要求它在此Container中启动应用程序的ApplicationMaster。

第三步:启动出来的ApplicationMaster首先向ResourceManager注册,从而用户可以直接通过ResourceManager查看应用程序的运行状态,同时ApplicationMaster还会通过RPC协议向ResourceManager申请资源,从而为它的各个任务如MapTask/Reduce Task在不同的NodeManager 里面开辟Contariner(注:ApplicationMaster申请到资源后,只会与对应的NodeManager通信,要求它开辟对应的Container并且启动对应的任务,而不是ApplicationMaster来在不同的NodeManager里面开辟Container,因为,NodeManager只做了一件事,那就是管理对应的Container)

第四步:开辟出来的各个不同的NodeManager里面的任务通过对应的具体的RPC协议向ApplicationMaster汇报自己的状态和进度,用户可随时通过RPC向ApplicationMaster查询应用程序的当前运行状态

第五步:ApplicationMaster检测到所有任务完成后,将会向ResourceManager注销并关闭自己。

具体工作流程如下图(这个图非常的好)YARN架构体系(组件,RPC通信协议,工作交互流程)入门理解_第6张图片

你可能感兴趣的:(Hadoop学习历程,架构)