首页 理论教育 TaskScheduler提交任务介绍

TaskScheduler提交任务介绍

时间:2023-06-20 理论教育 版权反馈
【摘要】:对于DAGScheduler提交过来的TaskSet,TaskSchedulerImpl会初始化一个TaskSetManager对其的生命周期进行管理,当TaskSchedulerImpl得到Worker结点上的Executor计算资源的时候,会通过TaskSetManager来发送具体的Task到Executor上执行计算。通过driverActor的初始化可以看到实际上接受并处理消息的类是Coarsegrained-SchedulerBackend的内嵌类DriverActor。DriverActor收到消息会继续调用自己的makeOffers方法。在makeOffers方法中会通过TaskSchedulerImpl的resourceOffers方法申请资源,然后调用launchTasks方法准备向Executor发送需要计算的Task。

TaskScheduler提交任务介绍

(1)对于DAGScheduler提交过来的TaskSet,TaskSchedulerImpl(TaskSchedulerImpl是TaskScheduler的实现子类)会初始化一个TaskSetManager对其的生命周期进行管理,当TaskSchedulerImpl得到Worker结点上的Executor计算资源的时候,会通过TaskSetManager来发送具体的Task到Executor上执行计算。

(2)SparkDeploySchedulerBackend实际上使用的是从父类CoarseGrainedSchuedulerBack-end的reviewOffers方法,在这个方法里会向driverActor发送消息。

(3)通过driverActor的初始化可以看到实际上接受并处理消息的类是Coarsegrained-SchedulerBackend的内嵌类DriverActor。

(4)DriverActor收到消息会继续调用自己的makeOffers方法。(www.xing528.com)

(5)在makeOffers方法中会通过TaskSchedulerImpl的resourceOffers方法申请资源,然后调用launchTasks方法准备向Executor发送需要计算的Task。

(6)在launchTasks方法中,会根据申请的资源用for循环把Task一个个发送到Worker结点上的CoarseGrainedExecutorBackend。然后通过CoarseGrainedExecutorBackend内部的Ex-ecutor来执行Task。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈