Yarn-cluster提交模式:用于生产环境,driver运行在nodemanager,没有单机网卡流量激增的问题。工作流程如下:
1.spark-submit客户端发送请求到ResourceManager,请求启动Application。
2.ResourceManager分配一批container在nodemanager上,启动ApplicationMaster(相当于Driver)。
3.ApplicationMaster找ResourceManager请求container启动executor。
4.Application连接其他NodeManager来启动executor(nodemanager相当于worker)
5.executor启动后向ApplicationManager反向注册。
6.后面工作流程同standalone提交模式。
Yarn-client提交模式:在本地客户端用于测试,会与yarn集群产生大量的网络通信,导致网卡流量激增。工作流程如下:
1.spark-submit提交在本地启动Driver进程,发送请求给ResourceManager,请求启动ApplicationMaster。
2.ResourceManager分配一个container在某个NodeManager上,来启动ApplicationMaster(是一个ExecutorLauncher)
3.ApplicationMaster向ResourceManager申请container启动executor。
4.ResourceManager分配一批container,ApplicationMaster连接其他NodeManager,用container资源启动executor。
5.executor反向注册到本地的driver中。
6.后面工作流程同standalone提交模式。