数智资源网
首页 首页 大数据 大数据入门 查看内容

Spark的调度策略详解

木马童年 2020-10-18 09:18 10 0

Spark的调度策略Spark目前有两种调度策略,一种是FIFO即先来先得,另一种是FAIR即公平策略。所谓的调度策略就是对待调度的对象进行排序,按照优先级来进行调度。调度的排序接口如下所示,就是对两个可调度的对象进行 ...

Spark的调度策略 Spark目前有两种调度策略,一种是FIFO即先来先得,另一种是FAIR即公平策略。所谓的调度策略就是对待调度的对象进行排序,按照优先级来进行调度。调度的排序接口如下所示,就是对两个可调度的对象进行比较。 private[spark] trait SchedulingAlgo...

Spark的调度策略

Spark目前有两种调度策略,一种是FIFO即先来先得,另一种是FAIR即公平策略。所谓的调度策略就是对待调度的对象进行排序,按照优先级来进行调度。调度的排序接口如下所示,就是对两个可调度的对象进行比较。

  Spark的调度策略详解

其实现类为FIFOSchedulingAlgorithm、FairSchedulingAlgorithm

  Spark的调度策略详解

注:可以根据自己对优先级的定义重写这个比较方法,但有一点注意,就是如果优先级和Stage都相同,那么默认后来居上

  Spark的调度策略详解

注:

公平原则本着的原则就是谁最需要就给谁,所以挨饿者优先;

资源占用比这块有点费解,如果把他理解成一个贪心问题就容易理解了。对于都是出于挨饿状态的任务可以这样理解,负载大的即时给你资源你也不一定能有效缓解,莫不如给负载小的,让其快速使用,完成后可以释放更多的资源,这是一种贪心策略。如JobA和JobB的Task数量相同都是10,A的minShare是2,B的是5,那占用比为5和2,显然B的占用比更小,贪心的策略应该给B先调度处理;

对于都处于满足状态的,当然谁的权重有着更好的决定性,权重比低得优先(偏向权利大的);

如果所有上述的比较都相同,那么名字字典排序靠前的优先(哈哈,名字很重要哦);名字aaa要比abc优先,所以这里在给Pool或者TaskSetManager起名字的时候要考虑这一点。

这两种调度的排序算法针对的可比较对象都是Schedule的具体对象,其(trait可理解成java中接口)定义如下:

  Spark的调度策略详解

目前Spark中有两种可调度的实体,Pool和TaskSetManager。Pool是一个调度池,Pool里面还可以有子Pool,Spark中的rootPool即根节点默认是一个无名的Pool。

  Spark的调度策略详解

其实对于FIFO模式的调度,rootPool管理的直接就是TaskSetManager,没有子Pool这个概念,就只有两层,rootPool和叶子节点TaskSetManager,实现如下所示。

  Spark的调度策略详解
  Spark的调度策略详解

但对于FAIR这种模式来说,是三层的,根节点是rootPool,为无名Pool,下一层为用户定义的Pool(不指定名称默认名称为default),再下一层才是TaskSetManager,即根调度池管理一组调度池,每个调度池管理自己的TaskSetManager,其实现如下所示。

  Spark的调度策略详解
  Spark的调度策略详解

这里的调度顺序是指在一个SparkContext之内的调度,一般情况下我们自行使用是不太会需要Pool这个概念的,因为不存在Pool之间的竞争,但如果我们提供一个Spark应用,大家都可以提交任务,服务端有一个常驻的任务,对应一个SparkContext,每个用户提交的任务都由其代理执行,那么针对每个用户提交的任务可以按照用户等级和任务优先级设置一个Pool,这样不同的用户的Pool之间就存在竞争关系了,可以用Pool的优先级来区分任务和用户的优先级了,**但要再强调一点名字很重要,因为FAIR机制中,如果其他比较无法判断,那么会按照名字来进行字典排序的**。

Spark
0
为您推荐
Hadoop大数据视频教程46讲,资源教程下载

Hadoop大数据视频教程46讲,资源教程下载

课程名称Hadoop大数据视频教程-第一季:真实电商数据仓库全流程开发详解(共46讲),资…...

Hadoop架构+MapReduce集群原理视频教程下载,Hadoop入门学习视频教程 徐老师13周课程  ...

Hadoop架构+MapReduce集群原理视频教程下载,Hadoop入

课程名称Hadoop架构+MapReduce集群原理视频教程下载,Hadoop入门学习视频教程 徐老师1…...

小甲鱼数据结构与算法,资源教程下载

小甲鱼数据结构与算法,资源教程下载

课程名称小甲鱼数据结构与算法,资源教程下载课程目录:01 数据结构和算法绪论02 谈谈…...

云帆大数据Hadoop从入门到上手企业开发8天学习视频,资源教程下载

云帆大数据Hadoop从入门到上手企业开发8天学习视频,

课程名称云帆大数据Hadoop从入门到上手企业开发8天学习视频,资源教程下载课程介绍超…...

数据分析工具之spss/amos精品课程零基础到精通,资源教程下载

数据分析工具之spss/amos精品课程零基础到精通,资源

课程名称数据分析工具之spss/amos精品课程零基础到精通,资源教程下载课程介绍Matlab…...

郝斌数据结构系列培训学习视频,资源教程下载

郝斌数据结构系列培训学习视频,资源教程下载

课程名称郝斌数据结构系列培训学习视频,资源教程下载课程目录01:什么叫做数据结构02…...