Spark源码精读之SparkSubmit(client)

文章详细介绍了SparkSubmit在YarnClient模式下的执行流程,从提交AM启动命令到RM,经过NM启动Spark进程,初始化SparkContext,获取Container资源,启动ExecutorBackend并执行Task的全过程。重点涵盖了从YarnAllocator到ExecutorBackend的交互步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、SparkSubmit(Client)总流程图

二、流程分析 

按照图1流程,整个提交过程可以分为9个步骤。

1、yarnClient提交AM的启动命令给RM。

2、RM找到空闲NM,启动用户自定义Spark进程。

3、初始化SparkContext时,注册AM。

4、创建YarnAlocator对象,并向RM获取Container资源。

5、YarnAlocator对象中laucherPool对象启动线程,并通过nmClient启动新的容器,并创建ExectuorBackend。

6、ExecutorBackend向DriverEndpoint注册。

7、DriverEndpoint回复true。

8、ExectuorBackend向DriverEndpoint提交LauchedExector消息。

9、DriverEndpoint将Task任务序列化后并回复LauchTask消息。

三、代码解析

待续

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值