spark 三种部署模式的区别-standalone模式,yarn模式与mesos模式的比较总结

             在这三种部署模式中,standalone 作为 spark 自带的分布式部署模式,是最简单也是最基本的 spark 应用程序部署模式,这里就不再赘述。这里就讲一下 yarn 和 mesos 的区别:
    (1) 就两种框架本身而言,mesos上可部署 yarn 框架。而 yarn 是更通用的一种部署框架,而且技术较成熟。
    (2) mesos 双层调度机制,能支持多种调度模式,而 yarn 通过 Resource Mananger 管理集群资源,只能使用一种调度模式。Mesos 的双层调度机制为:mesos 可接入如 yarn 一般的分布式部署框架,但 Mesos 要求可接入的框架必须有一个调度器模块,该调度器负责框架内部的任务调度。当一个 Framework 想要接入 mesos 时,需要修改自己的调度器,以便向 mesos 注册,并获取 mesos 分配给自己的资源,这样再由自己的调度器将这些资源分配给框架中的任务,也就是说,整个 mesos 系统采用了双层调度框架:第一层,由 mesos 将资源分配给框架;第二层,框架自己的调度器将资源分配给自己内部的任务。
    (3) mesos 可实现粗、细粒度资源调度,可动态分配资源,而 yarn 只能实现静态资源分配。其中粗粒度和细粒度调度定义如下:
    粗粒度模式(Coarse-grained Mode):程序运行之前就要把所需要的各种资源(每个 executor 占用多少资源,内部可运行多少个 executor)申请好,运行过程中不能改变。
    细粒度模式(Fine-grained Mode):为了防止资源浪费,对资源进行按需分配。与粗粒度模式一样,应用程序启动时,先会启动 executor,但每个 executor 占用资源仅仅是自己运行所需的资源,不需要考虑将来要运行的任务,之后,mesos 会为每个 executor 动态分配资源,每分配一些,便可以运行一个新任务,单个 Task 运行完之后可以马上释放对应的资源。每个 Task 会汇报状态给 Mesos Slave 和 Mesos Master,便于更加细粒度管理和容错,这种调度模式类似于 MapReduce 调度模式,每个 Task 完全独立,优点是便于资源控制和隔离,但缺点也很明显,短作业运行延迟大。
    从 yarn 和 mesos 的区别可看出,它们各自有优缺点。因此实际使用中,选择哪种框架,要根据本公司的实际需要而定,可考虑现有的大数据生态环境。如我司采用 yarn 部署 spark,原因是,我司早已有较成熟的 hadoop 的框架,考虑到使用的方便性,采用了 yarn 模式的部署。

               

      

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值