Spark作业调度
时间:2022-04-29
本文章向大家介绍Spark作业调度,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Spark在standalone模式下,默认是使用FIFO的模式,我们可以使用spark.cores.max
来设置它的最大核心数,使用spark.executor.memory 来设置它的内存。
在YARN模式下,使用--num-workers设置worker的数量,使用--worker-memory设置work的内存,使用--worker-cores设置worker的核心数。
下面介绍一下怎么设置Spark的调度为Fair模式。
在实例化SparkContext之前,设置spark.scheduler.mode。
System.setProperty("spark.scheduler.mode", "FAIR")
公平算法支持把作业提交到调度池里面,然后给每个调度池设置优先级来运行,下面是怎么在程序里面指定调度池。
context.setLocalProperty("spark.scheduler.pool", "pool1")
上面是设置调度池为pool1,当不需要的时候,可以设置为null。
context.setLocalProperty("spark.scheduler.pool", null)
默认每个调度池在集群里面是平等共享集群资源的,但是在调度池里面,作业的执行是FIFO的,如果给每个用户设置一个调度池,这样就不会出现迟提交的比先提交的先运行。
下面是设置pool的样本,详情可以具体参考conf/fairscheduler.xml.template。
<?xml version="1.0"?>
<allocations>
<pool name="production">
<schedulingMode>FAIR</schedulingMode>
<weight>1</weight>
<minShare>2</minShare>
</pool>
<pool name="test">
<schedulingMode>FIFO</schedulingMode>
<weight>2</weight>
<minShare>3</minShare>
</pool>
</allocations>
schedulingMode:FAIR或者FIFO。
weight: 权重,默认是1,设置为2的话,就会比其他调度池获得2x多的资源,如果设置为-1000,该调度池一有任务就会马上运行。
minShare: 最小共享核心数,默认是0,在权重相同的情况下,minShare大的,可以获得更多的资源。
我们可以通过spark.scheduler.allocation.file参数来设置这个文件的位置。
System.setProperty("spark.scheduler.allocation.file", "/path/to/file")
- AI技术五年内必将颠覆现有医疗领域?
- 初探ReactJS.NET 开发
- 详解使用hadoop2.6.0搭建5个节点的分布式集群(附代码)
- Net Framework 2.0 事务处理
- Mono 4.0 Mac上运行asp.net mvc 5.2.3
- 电脑、打印机不归,牵出“无人车第一案”
- VS 2005 文本编码小技巧
- 混搭.NET技术
- 修改终端服务器的最大连接数
- 跨平台移动开发UI语言 -XAML
- S-shortcodes:WordPress短代码形式美化框插件下载
- 服务器同时存在1.1和2.0程序注意事项
- Flash/Flex学习笔记(44):万有引力与粒子系统
- 代码重写WordPress网页标题为“原网页标题|网站名”的形式
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 浙大版《C语言程序设计(第3版)》题目集 习题2-2 阶梯电价
- 浙大版《C语言程序设计(第3版)》题目集 习题2-3 求平方与倒数序列的部分和
- 浙大版《C语言程序设计(第3版)》题目集 习题2-4 求交错序列前N项和
- 二十五块DIY 带屏幕可远程的温湿度传感器
- 浙大版《C语言程序设计(第3版)》题目集 习题2-5 求平方根序列前N项和
- 浙大版《C语言程序设计(第3版)》题目集 习题2-6 求阶乘序列前N项和
- 案例:ADG环境遇到redo日志member路径有误以及RMAN-6571错误
- 浙大版《C语言程序设计(第3版)》题目集 练习3-2 计算符号函数的值
- 浙大版《C语言程序设计(第3版)》题目集 练习3-3 统计学生平均成绩与及格人数
- 浙大版《C语言程序设计(第3版)》题目集 练习3-4 统计字符
- SQL 语句单引号、双引号的用法
- 浙大版《C语言程序设计(第3版)》题目集 练习3-5 输出闰年
- 浙大版《C语言程序设计(第3版)》题目集 练习3-7 成绩转换
- 浙大版《C语言程序设计(第3版)》题目集 练习3-8 查询水果价格
- 浙大版《C语言程序设计(第3版)》题目集 习题3-1 比较大小