spark on mesos 有粗粒度(coarse-grained)和细粒度(fine-grained)两种运行模式,细粒度模式在spark2.0后开始弃用。

细粒度模式

优点

spark默认运行的就是细粒度模式,这种模式支持资源的抢占,spark和其他frameworks以非常细粒度的运行在同一个集群中,每个application可以根据任务运行的情况在运行过程中动态的获得更多或更少的资源(mesos动态资源分配),但是这会在每个task启动的时候增加一些额外的开销。这个模式不适合于一些低延时场景例如交互式查询或者web服务请求等。

启动spark-shell,启动时不占有资源,需要运行task后才去申请

缺点

spark中运行的每个task的运行都需要去申请资源,也就是说启动每个task都增加了额外的开销。

在一些task数量很多,可是任务量比较轻的应用中,该开销会被放大。

例如:

遍历一个hdfs中拥有3w分区的数据(56亿条)任务:

粗粒度模式耗时 细粒度模式耗时
50s 420s

粗粒度模式

该模式的优点是启动task的时候开销比较小,但是该模式运行的时候每个application会一直占有一定的资源,直到整个application结束后才会释放资源。

启动spark-shell,启动应用时即占有资源

可以在conf/spark-default.conf中开启粗粒度模式

spark.mesos.coarse  true

在粗粒度模式下,一个application启动时会获取集群中所有的cpu(mesos资源邀约的所有cpu), 这会导致在这个application运行期间你无法再运行其他任务。你可以控制一个application获取到的最大资源来解决这个问题。

例如你可以设置最大的cpu使用数
在conf/spark-default.conf中设置

spark.cores.max  10

这样提交任务后,application会一直占用10个cpu,不会增加也不会减少,直到完全运行结束。

spark在1.5中提供了动态executor调整的功能,可以缓解资源长期不释放的问题。

spark dynamic allocation

一些相关参数

属性名 默认值 描述
spark.mesos.coarse false 是否使用粗粒度模式运行spark任务|
spark.mesos.extra.cores 0 只能在粗粒度模式下使用,为每个task增加额外的cpu,但是总的cpu数不会超过spark.cores.max设置的数量
spark.mesos.mesosExecutor.cores 1.0 即使spark task没有执行,每个mesos executor也会持续的拥有这些cpu,可以设置浮点数
spark.mesos.executor.memoryOverhead executor memory * 0.10, with minimum of 384 每个executor额外的一些内存,单位是mb,默认情况下,该值是spark.executor.memory 的0.1倍,且不小于384mb。如果进行了设置,就会变成你设置的值

转载于:https://www.cnblogs.com/xiaomaohai/p/6158059.html

spark on mesos 两种运行模式相关推荐

  1. matlab安装程序无法启动jvm_天呀!JVM居然还有2两种运行模式

    概述 JVM有两种运行模式Server与Client.两种模式的区别在于,Client模式启动速度较快,Server模式启动较慢:但是启动进入稳定期长期运行之后Server模式的程序运行速度比Clie ...

  2. 【docker】Docker容器的两种运行模式(Foreground、Detached)

    文章目录 Docker容器进程有两种运行模式. 后台模式就是在后台运行,不会让当前进程卡主,你可以做其他事情,而前台模式会导致当前卡住,并输出日志至当前控制台. Foreground 前台模式(默认) ...

  3. Cortex-A7 MPCore 架构详细介绍(九种运行模式、内核寄存器组R0~R15,有特定的名字和功能)

    目录 0.ARM架构的历史简介 1.Cortex-A7 MPCore(即多核) 简介 2.Cortex-A 处理器九种运行模式 3.Cortex-A 寄存器组(内核寄存器) 3.1通用寄存器 3.1. ...

  4. spark sql 本地调试_Spark精华问答|Spark的三种运行模式有何区别?

    戳蓝字"CSDN云计算"关注我们哦! Spark是一个针对超大数据集合的低延迟的集群分布式计算系统,比MapReducer快40倍左右,是hadoop的升级版本,Hadoop作为第 ...

  5. Spark精华问答 | Spark的三种运行模式有何区别?

    戳蓝字"CSDN云计算"关注我们哦! Spark是一个针对超大数据集合的低延迟的集群分布式计算系统,比MapReducer快40倍左右,是hadoop的升级版本,Hadoop作为第 ...

  6. spark四种运行模式

    spark的核心组件 1.1Driver Spark 驱动器节点,用于执行 Spark 任务中的 main 方法,负责实际代码的执行 工作.Driver 在 Spark 作业执行时主要负责: 1.1. ...

  7. 2021年大数据Spark(九):Spark On Yarn两种模式总结

    目录 Spark On Yarn两种模式 引入 一.当一个MR应用提交运行到Hadoop YARN上时 二.当一个Spark应用提交运行在集群上时 注意 client 模式 cluster 模式 总结 ...

  8. Spark的三种运行模式

    Spark三种运行模式 1.Spark运行模式: 2.验证Spark三种模式代码 1.Spark运行模式: ①Local(也称单节点模式):常用于开发和学习 ./spark-shell - -mast ...

  9. 深入理解spark两种调度模式:FIFO,FAIR模式

    深入理解spark-两种调度模式FIFO,FAIR模式 前面我们应知道了一个任务提交会由DAG拆分为job,stage,task,最后提交给TaskScheduler,在提交taskscheduler ...

最新文章

  1. 数据库基础-数据库引擎
  2. CatalanStirling数
  3. angular-file-upload+springMVC的使用
  4. 面试官问我:如何解决ABA问题?我给出接近满分的回答
  5. 记一次更改了电脑名称后遇到的各种错误反思及感想
  6. MySQL集群搭建--多主模式
  7. 【转】GitHub入门详细讲解
  8. 单目可见光静默活体检测 Binary or Auxiliary Supervision论文解读
  9. 小程序日历插件的使用
  10. python变量类型之间转换_【Python】Python 变量类型(变量赋值,数据类型,数据转换)...
  11. 期望dp--BZOJ3450 Easy
  12. cannot remove `libtoolT’: No such file or directory
  13. Neo4j的下载与安装
  14. node.js离线库
  15. 多重中介效应的示例数据(内附STATA代码)
  16. c# – 强制硬件加速渲染
  17. Acwing-4454. 未初始化警告
  18. 实用Python程序设计测验:数字统计
  19. 《年度区块链产业发展报告(2020)》重磅发布,透视产业应用现状与未来
  20. k8s编排nacos standalone模式踩坑实录

热门文章

  1. 用户名登陆的两种格式
  2. ora-12514报错解决方法
  3. imp导入时出现imp-00017 ora-06550的解决办法
  4. CCNA 第二学期答案
  5. 求助:一个物理专业的在做GPU的人
  6. order one question for the 4e4 exploitation
  7. how to export many stock data from Wind terminal
  8. 也是一个国外的final cut pro的模版网站
  9. html5/css3响应式页面开发总结
  10. sql server的远程连接