美文网首页
Spark-Mesos架构图

Spark-Mesos架构图

作者: 由木人_番茄 | 来源:发表于2019-03-30 23:55 被阅读0次

    Spark Mesos 架构图

    Apache Mesos采用Master/Slave架构,主要由Mesos Master、Mesos Slave、Framework和Executor四部分组成,整体架构如下如所示。其中Mesos Master是整个系统的核心,Framework是外部的计算框架,它们通过注册接入Mesos后,由Mesos Master进行统一管理和资源分配,具体的执行任务由Executor执行,不同的计算框架需要实现自己的Executor。也就是Mesos采用双层调度框架:

    • Mesos Master分配资源给外部框架。
    • 外部框架的调度模块将资源分配给外部框架的内部计算任务。

    Mesos资源调度分为粗粒度调度和细粒度调度:

    • 粗粒度调度:Executor获得资源后就长期持有,直到应用程序退出才释放资源。
    • 细粒度调度:Executor根据任务的实际需要动态申请资源,任务完成以后归还资源给系统。

    Spark 可以通过spark.mesos.coarse true or false来设置粗粒度模式或者细粒度模式。
    架构图如下:

    粗粒度调度模式

    Client在启动时通过CoarseMesosSchedulerBackend向Mesos Master获取资源,CoarseMesosSchedulerBackend额外实现了Mesos的资源调度接口,可以向Mesos资源调度框架注册和接受来自Mesos的资源分配,得到资源之后他会通过Mesos远程启动CoarseGrainedExecutorBackend。
    在粗粒度模式下,Executor从Mesos Master获取的资源会等到所有的计算任务结束(退出应用程序)时才会向Mesos归还资源。

    细粒度调度模式

    细粒度调度模式和粗粒度调度模式的实现基本相同,只不过在细粒度模式下是按照任务来向Mesos Master申请资源,并且在计算任务结束后就归还资源。
    这种模式避免了资源浪费问题,但是每次任务调度都会从系统动态申请资源,所以调度的时间开销比较大,对于运行时间短但计算任务比较多的应用性能会变得很差。

    Reference:

    [1] Spark技术内幕:深入解析Spark内核架构设计与原理实现(张安站)

    [2] https://blog.csdn.net/lsshlsw/article/details/47104913

    相关文章

      网友评论

          本文标题:Spark-Mesos架构图

          本文链接:https://www.haomeiwen.com/subject/okbebqtx.html