购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.3 YARN工作流程

YARN集群中应用程序的执行流程如图3-5所示,图中流程说明如下:

图3-5 YARN应用程序执行流程

(1)客户端提交应用程序(可以是MapReduce程序、Spark程序等)到ResourceManager。

(2)ResourceManager分配用于运行ApplicationMaster的Container,然后与NodeManager通信,要求它在该Container中启动ApplicationMaster。ApplicationMaster启动后,它将负责此应用程序的整个生命周期。

(3)ApplicationMaster向ResourceManager注册(注册后可以通过ResourceManager查看应用程序的运行状态)并请求运行应用程序各个Task所需的Container(资源请求是对一些Container的请求)。如果符合条件,ResourceManager会分配给ApplicationMaster所需的Container(表达为Container ID和主机名)。

(4)ApplicationMaster请求NodeManager使用这些Container来运行应用程序的相应Task(即将Task发布到指定的Container中运行)。

此外,各个运行中的Task会通过RPC协议向ApplicationMaster汇报自己的状态和进度,这样即使某个Task运行失败,ApplicationMaster也可以对其重新启动。当应用程序运行完成时,ApplicationMaster会向ResourceManager申请注销自己。 yhOtz8DxAbej8RY1jdAAMCncqoszeAgdRtgPdXhD+1sQcBkAzQQCebcVpDVEllDK

点击中间区域
呼出菜单
上一章
目录
下一章
×