博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spark作业调度类型
阅读量:4170 次
发布时间:2019-05-26

本文共 1590 字,大约阅读时间需要 5 分钟。

Spark作业调度

Spark 作业的意思是一个 Spark 动作以及执行该动作的所需要启动的任务。 Spark 的调度是完全

线程安全的, 使应用程序支持多个请求。

FIFO

默认情况下, Spark 遵循 FIFO(先进先出) 方式调度作业。Master负责集群资源管理和调度,线启动等待列表中应用程序的Driver,并尽可能分散在集群的Worker上,根据将集群资源按先来先分配原则进行分配,先分配的程序会更多的获得满足条件的资源,后分的只能在剩余资源中获取,如果没有合适资源则只能等待,直到其他应用程序释放资源。

private def schedule(): Unit = {
if (state != RecoveryState.ALIVE) {
return } // Drivers take strict precedence over executors val shuffledAliveWorkers = Random.shuffle(workers.toSeq.filter(_.state == WorkerState.ALIVE)) val numWorkersAlive = shuffledAliveWorkers.size var curPos = 0 for (driver <- waitingDrivers.toList) {
// iterate over a copy of waitingDrivers // We assign workers to each waiting driver in a round-robin fashion. For each driver, we // start from the last worker that was assigned a driver, and continue onwards until we have // explored all alive workers. var launched = false var numWorkersVisited = 0 while (numWorkersVisited < numWorkersAlive && !launched) {
val worker = shuffledAliveWorkers(curPos) numWorkersVisited += 1 if (worker.memoryFree >= driver.desc.mem && worker.coresFree >= driver.desc.cores) {
launchDriver(worker, driver) waitingDrivers -= driver launched = true } curPos = (curPos + 1) % numWorkersAlive } } startExecutorsOnWorkers()}
  • FAIR
    Spark 以轮询( round-robin) 方式调度各作业并分配任务,以便所有作业获得大致相等的集群资源份额,新提交的小作业可以立即获得计算资源并被启动, 无需等待大作业的结束再开始。
    此模式最适合多用户情况

公平调度程序还支持将作业分组到作业池中,并为每个池设置不同的调度策略或优先级。 可以

为更重要的作业创建高优先级作业池, 也可以将每个用户的工作组合在一起配置一个作业池,
并为每个用户分配相同的调度资源,而不管他们的并发作业有多少。

转载地址:http://ufkai.baihongyu.com/

你可能感兴趣的文章
MySQL逻辑备份恢复mysqldump20210204
查看>>
MySQL逻辑备份恢复mysqlpump20210217
查看>>
MySQL逻辑备份恢复mysqldumper20210225
查看>>
MySQL物理备份xtrabackup-innobackupex20210304
查看>>
MySQL物理备份xtrabackup-20210310
查看>>
MySQL物理备份mysqlbackup-20210315
查看>>
中标麒麟高级系统V7安装PG11
查看>>
MySQL数据导入导出20210328
查看>>
MySQL单库优化概述20210403
查看>>
运维部知识库管理办法V1版
查看>>
MySQL索引优化20210412
查看>>
win10批处理文件获得超级管理员-切换双网卡
查看>>
软考UML
查看>>
信息系统的生命周期各阶段及说明
查看>>
Ubuntulinux离线安装ClamTk杀毒软件步骤和使用方法
查看>>
摆脱贫穷2021V1
查看>>
质量管理14工具图
查看>>
SQL数据库管理—安全使用SSL加密连接
查看>>
项目管理理论2021
查看>>
SQL数据库开发—TSQL-—运算符1常用
查看>>