Spark集群和任务执行

简介: Spark集群组件、Spark基本执行流程以及注意点

Spark集群组件

spark.jpg

Spark是典型的Master/Slave架构,集群主要包括以下4个组件:

Driver:Spark框架中的驱动器,运行用户编写Application 的main()函数。类比于MapReduce的MRAppmaster

Master:主节点,控制整个集群,监控worker。在Yarn模式中为全局资源管理器

Worker:从节点,负责控制计算节点,启动Executor。类比Yarn中的节点资源管理器

Executor:运算任务执行器,运行在worker节点上的一个进程。类似于MapReduce中的MapTask和ReduceTask

Spark基本执行流程

以StandAlone运行模式为例:

spark2.jpg

1.客户端启动应用程序及Driver相关工作,向Master提交任务申请资源

2.Master给Worker分配资源,通知worker启动executor

3.Worker启动Executor,Worker创建ExecutorRunner线程,ExecutorRunner会启动ExecutorBackend进程,Executor和Driver进行通信(任务分发监听等)

4.ExecutorBackend启动后向Driver的SchedulerBackend注册,SchedulerBackend将任务提交到Executor上运行

5.所有Stage都完成后作业结束

笔者强调:

1.Driver端进行的操作

a.SparkContext构建DAG图
b.DAGScheduler将任务划分为stage、为需要处理的分区生成TaskSet
c.TaskScheduler进行task下发
d.SchedulerBackend将任务提交到Executor上运行

2.资源划分的一般规则

a.获取所有worker上的资源
b.按照资源大小进行排序
c.按照排序后的顺序拿取资源
c1.轮询
c2.优先拿资源多的

3.Spark不同运行模式任务调度器是不同的,如Yarn模式:yarn-cluster模式为YarnClusterScheduler,yarn-client模式为YarnClientClusterScheduler

相关文章
|
8月前
|
人工智能 分布式计算 调度
打破资源边界、告别资源浪费:ACK One 多集群Spark和AI作业调度
ACK One多集群Spark作业调度,可以帮助您在不影响集群中正在运行的在线业务的前提下,打破资源边界,根据各集群实际剩余资源来进行调度,最大化您多集群中闲置资源的利用率。
|
8月前
|
SQL 分布式计算 资源调度
Dataphin功能Tips系列(48)-如何根据Hive SQL/Spark SQL的任务优先级指定YARN资源队列
如何根据Hive SQL/Spark SQL的任务优先级指定YARN资源队列
326 4
|
8月前
|
分布式计算 监控 Java
|
9月前
|
分布式计算 Spark
【赵渝强老师】Spark RDD的依赖关系和任务阶段
Spark RDD之间的依赖关系分为窄依赖和宽依赖。窄依赖指父RDD的每个分区最多被一个子RDD分区使用,如map、filter操作;宽依赖则指父RDD的每个分区被多个子RDD分区使用,如分组和某些join操作。窄依赖任务可在同一阶段完成,而宽依赖因Shuffle的存在需划分不同阶段执行。借助Spark Web Console可查看任务的DAG图及阶段划分。
430 15
|
10月前
|
存储 分布式计算 调度
Spark Master HA 主从切换过程不会影响到集群已有作业的运行, 为什么?
Spark Master 的高可用性(HA)机制确保主节点故障时,备用主节点能无缝接管集群管理,保障稳定运行。关键在于: 1. **Driver 和 Executor 独立**:任务执行不依赖 Master。 2. **应用状态保持**:备用 Master 通过 ZooKeeper 恢复集群状态。 3. **ZooKeeper 协调**:快速选举新 Master 并同步状态。 4. **容错机制**:任务可在其他 Executor 上重新调度。 这些特性保证了集群在 Master 故障时仍能正常运行。
|
SQL 分布式计算 大数据
大数据-100 Spark 集群 Spark Streaming DStream转换 黑名单过滤的三种实现方式(一)
大数据-100 Spark 集群 Spark Streaming DStream转换 黑名单过滤的三种实现方式(一)
136 0
|
SQL 分布式计算 大数据
大数据-100 Spark 集群 Spark Streaming DStream转换 黑名单过滤的三种实现方式(二)
大数据-100 Spark 集群 Spark Streaming DStream转换 黑名单过滤的三种实现方式(二)
121 0
|
消息中间件 分布式计算 Kafka
大数据-99 Spark 集群 Spark Streaming DStream 文件数据流、Socket、RDD队列流
大数据-99 Spark 集群 Spark Streaming DStream 文件数据流、Socket、RDD队列流
181 0
|
消息中间件 分布式计算 Kafka
大数据-98 Spark 集群 Spark Streaming 基础概述 架构概念 执行流程 优缺点
大数据-98 Spark 集群 Spark Streaming 基础概述 架构概念 执行流程 优缺点
253 0

热门文章

最新文章