一、 spark-submit提交(yarn-cluster)
- 发生请求ResourceManager,请求启动ApplicationMaster( 在某个nodemanger上,启动ApplicationMaster)--ApplicationMaster相当于Driver
- AM找到RM,请求container,启动executor
- RM分配一批container给AM,用于启动executor
- AM连接其它NM(worker),来启动executor.
- executor启动后,向AM反向注册
二、spark-submit提交(yarn-client)
- 发生请求ResourceManager,请求启动ExcutorLauncher( ApplicationMaster)
- EL找到RM,请求container,启动executor
- RM分配一批container给EL,用于启动executor
- EL连接其它NM(worker),来启动executor
- exector启动后,反向注册到本地Driver上
三、 两种区别
- yarn-client用于测试,因为driver运行在本地客户端,负责调度application,会与yarn集群产生超大量网络通信从而导致网卡流量激增,好处在于,直接执行时,本地可以看到所有log。方便调试
- yarn-cluster,用于生产环境,driver运行在nodemanager,没有网卡流量激增的问题。缺点在于调式不方便,本地用spark-submit提交后,看不到log,只能通过yarn application-logs application_id这种命令来查看。

网友评论