`

spark内核揭秘-04-spark任务调度系统个人理解

阅读更多

spark的任务调度系统如下所示:

 

从上图中可以看出来由RDD Objects产生DAG,然后进入了DAGScheduler阶段,DAGScheduler是面向state的高层次的调度器,DAGScheduler把DAG拆分成很多的tasks,每组的tasks都是一个state,每当遇到shuffle就会产生新的state,可以看出上图一共有三个state;DAGScheduler需要记录那些RDD被存入磁盘等物化动作,同时需寻找task的最优化调度,例如数据本地性等;DAGScheduler还要监视因为shuffle输出导致的失败,如果发生这种失败,可能就需要重新提交该state:

DAGScheduler划分state后以TaskSet为单位把任务,把任务交给底层次的可插拔的调度器TaskScheduler来处理:

可以看出TaskScheduler是一个trait,在目前spark系统中TaskScheduler的实现类只有一个TaskSchedulerImpl:

一个TaskScheduler只为一个SparkContext实例服务,TaskScheduler接受来自DAGScheduler发送过来的分组的任务,DAGScheduler给TaskScheduler发送任务的时候是以Stage为单位来提交的,TaskScheduler收到任务后负责把任务分发到集群中Worker的Executor中去运行,如果某个task运行失败,TaskScheduler要负责重试;另外如果TaskScheduler发现某个Task一直未运行完,就可能启动同样的任务运行同一个Task,那个任务先运行完就用哪个任务的结果。


TaskScheduler发送的任务交给了Worker上的Executor以多线程的方式运行,每一个线程负责一个任务:

 

 

其中的存储系统的管理是BlockManager来负责的:


看一下TaskSet的源码:


从TaskSet源码的第一个参数tasks就可以看出其是一个Task的数组,包含一组Task。

分享到:
评论

相关推荐

    精通Spark内核

    1, 通过源码精通Spark内核实现和任务调度; 2,精通RDD、DAGScheduler、TaskScheduler和Worker节点内部的工作的每一步的细节; 3,精通Job的逻辑执行和物理执行; 4,精通Shuffle、Cache、Checkpoint和Broadcast ...

    spark高手之路-内核揭秘

    此阶段主要是通过Spark框架的源码研读来深入Spark内核部分 1.通过源码掌握Spark的任务提交过程 2.通过源码掌握spark集群的任务调度; 3.尤其要精通DAGScheduler,TaskScheduler和worker节点内部的工作的每一步的细节...

    【Spark内核篇03】Spark任务调度机制1

    (3)Task是Stage的子集,以并行度(分区数)来衡量,分区数是多少,则有多少个task (2)SparkContext将Job交给DAGScheduler

    Spark技术内幕 深入解析Spark内核架构设计与实现原理

    Spark技术内幕 深入解析Spark内核架构设计与实现原理-----深入浅出的阐述spark的执行原理,内核架构,各个阶段的划分与调度

    完结23章大数据硬核技能进阶 Spark3实战智能物业运营系统

    Standalone模式:Spark自带的任务调度模式。(国内常用) YARN模式:Spark使用Hadoop的YARN组件进行资源与任务调度。(国内常用) Windows模式:为了方便在学习测试spark程序,Spark提供了可以在windows系统下启动...

    Spark内核机制解析及性能调优教程(含资料)

    本教程通过源码引导读者深入理解Spark的集群部署的内部机制、Spark内部调度的机制、Executor的内部机制、Shuffle的内部机制,进而讲述Tungsten的内部机制,让学员知其然知其所以然。教程的后部分,是任何Spark应用者...

    【Spark内核篇01】Spark通信架构和集群启动流程1

    (1)将用户程序转化为作业(Job) (2)在Executor之间调度任务(Task) (3)跟踪Executor的执行情况 (4)通过UI展示查询运行情况

    基于Spark的实践.pptx

    云计算Spark实践参考,包含详细代码和操作步骤: 理解Spark原理 开发Spark程序:开发环境、程序提交、运行模式 内核讲解:RDD 工作机制:任务调度、资源分配

    Spark分布式内存计算框架视频教程

    9.Spark 内核调度 10.Spark 并行度 第三章、SparkSQL 模块 1.快速入门:词频统计 2.SparkSQL 概述 3.DataFrame 4.RDD与DataFrame转换 5.数据分析SQL和DSL 6.案例:电影评分数据分析 7.DataSet 8.外部数据源Exeternal...

    mesos-1.11.0.tar.gz

    Apache Mesos(mesos-1.11.0.tar.gz、mesos-1.11.0.zip) 将 CPU、内存、...内核在每台机器上运行,并为应用程序(例如 Hadoop、Spark、Kafka、Elasticsearch)提供跨整个数据中心和云环境的资源管理和调度 API接口。

    Java及大数据学习路线.pdf

    全⽂检索+⽇志搜集+数据可视化ELK 多范式编程语⾔Scala SparkCore/Spark SQL/Spark Streaming/Spark mlib Spark内核和优化 JVM/JUC python 数据结构 ⼤数据框架Flink 3 Java基础图谱 4 软件开发介绍 软件开发 软件,...

    2022大数据计算架构实践资料合集-共47份.zip

    基于 Spark + Kyuubi 内核优化与服务化实践 openLooKeng 基于高速协议的 MPP 数据库 Connector 方案实践 Kyuubi 在小米大数据平台的应用实践 为 Spark on Kubernetes 提供更完善的调度能力! 阿里云 EMR StarRocks ...

    2021大数据存储架构峰会实践资料合集(35份).zip

    TDengine内核技术剖析 用 TiDB 构建实时应用 JuiceFS云原生时代的分布式文件系统 Apache ShardingSphere的蓝海探索 新一代大数据调度 -Apache DolphinScheduler架构演进 Presto在数据湖领域的机遇与挑战 数据湖存储...

    数据分析平台演进及数据分析方法应用(蚂蚁金服).pdf

    ① 任务执行与调度引擎:我们在做ETL的时候大多数都是这种任务执行与调度; ② 数据科学引擎:数据科学引擎主要是做分析,做业务洞察这一类,今天的数据业务平台可能更多的就是依赖于数据科学引擎,后面会详细介绍...

    4399大数据笔试题.pdf

    答案: Leader ⾓⾊ Leader 服务器是整个zookeeper 集群的核⼼,主要的⼯作任务有两项: 事物请求的唯⼀调度和处理者,保证集群事物处理的顺序性。 集群内部各服务器的调度者。 Follower ⾓⾊ Follower ⾓⾊的主要...

Global site tag (gtag.js) - Google Analytics