Spark作业提交运行流程

yarn-cluster模式:

(1)client客户端提交spark Application应用程序到yarn集群。

(2)ResourceManager收到了请求后,在集群中选择一个NodeManager来为应用程序分配container容器,并启动该应用程序的ApplicationMaster。

(3)ApplicationMaster 向 ResourceManager 注册,并为各个任务申请container资源。

(4)ApplicationMaster申请到资源后,便与对应的NodeManager进行通信,要求其在container容器中,启动Excutor。Excutor启动之后,会向ApplicationMaster反向注册,并申请task。

(5)ApplicationMaster分配task给Excutor,Excutor运行task,并向ApplicationMaster汇报运行的状态和进度。

(6)所有任务执行完毕,ApplicationMaster向ResourceManager注销自己。

各个任务的运行状态,是从Excutor向ApplicationMaster汇报,ApplicationMaster可在任务失败时重新启动任务。ApplicationMaster向ResourceManager汇报,从而使用者可以在yarn的任务监控界面观测到各个任务运行的状态。

原文地址:https://www.cnblogs.com/songyuejie/p/13024349.html