首页 理论教育 深入探讨Mesos模式的内部实现原理

深入探讨Mesos模式的内部实现原理

时间:2023-06-20 理论教育 版权反馈
【摘要】:不同的是在接受资源后,MesosSchedulerBackend启动的是基于单个任务的远程Execu-tor,通过在远程执行./sbin/spark-executor命令来启动MesosExecutorBackend,在MesosEx-ecutorbackend中直接启动和执行对应的任务。两种颗粒度的调度模式各有优缺点,粗粒度模式中,一旦Executor获取资源就长期占有,容易资源浪费,但是减少了资源的时间开销;而细粒度模式是根据任务的实际情况动态调度的,它的特点去粗粒度正好相反。你可以在程序中通过设置spark.mesos.coarse来选择是否使用粗粒度的调度模式:conf.set。

深入探讨Mesos模式的内部实现原理

对于Mesos的粗粒度模式,CoarseMesoschedulerBackend实现了Mesos的Scheduler接口,并将其注册到Mesos资源调度框架中,用于接收Mesos的资源分配,在得到资源后通过Me-sos框架远程启动CoarseGrainedExecutorBackend,之后的任务交互过程和Spark Standalone模式一样,由Driver Actor和Executor Actor直接完成。

对于Mesos的细粒度模式,MesosSchedulerBackend直接继承自SchedulerBackend,它同样实现了Mesos的Scheduler接口并注册到Mesos资源调度的框架中用于接收Mesos的资源分配。不同的是在接受资源后,MesosSchedulerBackend启动的是基于单个任务的远程Execu-tor,通过在远程执行./sbin/spark-executor命令来启动MesosExecutorBackend,在MesosEx-ecutorbackend中直接启动和执行对应的任务。(www.xing528.com)

两种颗粒度的调度模式各有优缺点,粗粒度模式中,一旦Executor获取资源就长期占有,容易资源浪费,但是减少了资源的时间开销;而细粒度模式是根据任务的实际情况动态调度的,它的特点去粗粒度正好相反。你可以在程序中通过设置spark.mesos.coarse来选择是否使用粗粒度的调度模式:conf.set(“spark.mesos.coarse”,”true”)。

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

我要反馈