购买
下载掌阅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申请注销自己。 Fg5qWf4Yx8U7eajX2mvR4xs9/loE5UzCKGEkVLKBJgt2xr+KZX1jdeoS7F4KLTrE

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