Spark的TaskScheduler启动后建立RPC通信的执行流程

在《Spark提交任务SparkSubmit执行流程》简单地描述了SparkSubmit后执行流程,但对TaskScheduler的启动方法start()执行后并没有详细介绍,本文针对TaskScheduler的执行进行深入探讨,学习其启动后的执行流程。

  1. 在SparkContext实例化TaskScheduler后,执行TaskScheduler.start()方法启动TaskScheduler执行流程
  2. TaskScheduler.start()方法中实例了TaskSchedulerImpl,并调用SchedulerBackend.start()方法
  3. 由于SchedulerBackend是个接口,实际调用的是其实现类,本文以SparkDeploySchedulerBackend为例子深入分析
  4. 在SparkDeploySchedulerBackend方法start()中,先调用了父类的方法supper.start();在父类start方法中实例化了一个DriverActor,即Spark术语中的driver,其作用为建立与各Executor之间RPC通信
  5. SparkDeploySchedulerBackend方法start()在实例化DriverActor后,对AppClient进行实例化
  6. 调用AppClient.start()方法,在start()方法实例了一个ClientActor,其作用为建立与Master之间的RPC通信
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值