对Spark2.2.0文档的学习2-Job Scheduling
Job Scheduling
Link:http://spark.apache.org/docs/2.2.0/job-scheduling.html
概况:
(1)集群中多个应用的调度主要考虑的是不同应用能够使用的集群资源的情况,即CPU以及内存资源,包括静态(Standalone,Mesos、Yarn)和动态(Mesos)的方式,动态资源分配方式需要考虑相应的请求资源的策略和放弃资源的策略。
(2)每个应用内部的调度考虑的是Spark调度器执行“jobs”的方式,默认为FIFO,可以配置成Fair模式。Fair模式下还有pool的概念,pool可以配置三种属性schedulingMode,weight以及minShare。
1、Scheduling Across Applications
一个集群中有多个Spark Application,每个Application独立的启动JVMs运行executors去执行任务以及存储数据。对于多个Application的资源的分配,有两种方案。最简单的是static partitioning每个应用得到它能够得到的最大数量的资源(Standalone mode,Mesos,Yarn都支持,每种需要配置一些参数,指定能够使用的CPU核数以及内存资源)。Mesos支持dynamic sharing of CPU cores。
此外,目前所有的模式都不支持不同应用之间的内存共享。
动态资源分配:
Spark提供基于负载动态调整应用占据的资源的机制。如果一个集群中有多个应用运行,这个机制时很有用的。This feature is disabled by default and available on all coarse-grained cluster managers, i.e. standalone mode, YARN mode, and Mesos coarse-grained mode.
资源分配策略:
Spark移除或者请求executors的启发式规则如下
Request Policy:动态资源分配开启的情况下, when it has pending tasks waiting to be scheduled.还有挂起的任务需要被调度时,即已有的executors不能同时满足所有的task,这时候Spark requests executors in rounds。
Remove Policy:A Spark application removes an executor when it has been idle for more than spark.dynamicAllocation.executorIdleTimeout
seconds.空闲超过一定的时间。
2、Scheduling Within an Application
(1)每个Spark应用(SparkContext实例)中,如果jobs由多个线程提交,那么多个并行的jobs可以同时运行。 By “job”, in this section, we mean a Spark action (e.g. save
, collect
) and any tasks that need to run to evaluate that action.
默认情况下,Spark的调度器以FIFO的方式运行jobs。从Spark0.8开始,也可以配置fair sharing的方式
(2)
Fair Scheduler支持将jobs组织成pools,然后给每个pool设置不同的调度选项。例如为高优先级的jobs创建一个high Priority pool、或者为每个用户的jobs创建一个pool。
pool的默认行为:By default, each pool gets an equal share of the cluster (also equal in share to each job in the default pool), but inside each pool, jobs run in FIFO order.
Pool的属性选项:
(1)schedulingMode
: This can be FIFO or FAIR,决定pool中jobs对资源的获取方式
(2)weight
: This controls the pool’s share(占有率) of the cluster relative to other pools.控制对集群资源的占有率
(3)minShare
: ensure that a pool can always get up to a certain number of resources
对Spark2.2.0文档的学习2-Job Scheduling的更多相关文章
- 对Spark2.2.0文档的学习3-Spark Programming Guide
Spark Programming Guide Link:http://spark.apache.org/docs/2.2.0/rdd-programming-guide.html 每个Spark A ...
- 对Spark2.2.0文档的学习1-Cluster Mode Overview
Cluster Mode Overview Link:http://spark.apache.org/docs/2.2.0/cluster-overview.html Spark应用(Applicat ...
- webpack搭建vue项目开发环境【文档向学习】
为何有这篇文章 各个社区已经有无数篇帖子介绍如何使用webpack搭建前端项目,但无论是出于学习webpack的目的还是为了解决工作实际需要都面临着一个现实问题,那就是版本更新.别人的帖子可能刚写好版 ...
- vue mand-mobile按2.0文档默认安装的是1.6.8版本
vue mand-mobile按2.0文档默认安装的是1.6.8版本 npm list mand-mobilebigbullmobile@1.0.0 E:\webcode\bigbullmobile` ...
- Beautiful Soup 4.2.0 文档
Beautiful Soup 4.2.0 文档 Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方 ...
- css2.0文档查阅及字体样式
css2.0文档查阅下载 网址:http://soft.hao123.com/soft/appid/9517.html <html xmlns="http://www.w3.o ...
- Unity shader 官网文档全方位学习(一)
转载:https://my.oschina.net/u/138823/blog/181131 摘要: 这篇文章主要介绍Surface Shaders基础及Examples详尽解析 What?? Sha ...
- C# 动态生成word文档 [C#学习笔记3]关于Main(string[ ] args)中args命令行参数 实现DataTables搜索框查询结果高亮显示 二维码神器QRCoder Asp.net MVC 中 CodeFirst 开发模式实例
C# 动态生成word文档 本文以一个简单的小例子,简述利用C#语言开发word表格相关的知识,仅供学习分享使用,如有不足之处,还请指正. 在工程中引用word的动态库 在项目中,点击项目名称右键-- ...
- 【PyTorch v1.1.0文档研习】60分钟快速上手
阅读文档:使用 PyTorch 进行深度学习:60分钟快速入门. 本教程的目标是: 总体上理解 PyTorch 的张量库和神经网络 训练一个小的神经网络来进行图像分类 PyTorch 是个啥? 这是基 ...
随机推荐
- C语言第三周
一. 字符串常量 只要有一对双引号括起来的字符序列就是字符串常量.列如"hello"接"123" 注意:"a"是字符串常量'a'是字符常量. ...
- 20155327 2016-2017-2 《Java程序设计》第一周学习总结
20155327 2016-2017-2 <Java程序设计>第一周学习总结 教材学习内容总结 浏览教材,根据自己的理解每章提出一个问题 1.JAVA SE中JVM,JRE与JDK分别是什 ...
- 20155336 《Java程序设计》实验二 (Java面向对象程序设计)实验报告
20155336 <Java程序设计>实验二 (Java面向对象程序设计)实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉 ...
- ruby学习笔记(1)-puts,p,print的区别
ruby学习笔记-puts,p,print的区别 共同点:都是用来屏幕输出的. 不同点:puts 输出内容后,会自动换行(如果内容参数为空,则仅输出一个换行符号):另外如果内容参数中有转义符,输出时将 ...
- linux Ubuntu Kali 安装flash
http://jingyan.baidu.com/article/fa4125accdeeec28ad709252.html
- 13 tcp3次握手 4次释放 mac和ip 访问百度的过程
1.mac地址和ip地址的不同 (传棒棒糖) 需求:192.168.1.1 ping 192.168.2.1 1):获取默认的网关mac地址 2)寻找下一个网关的mac地址 3)mac地址在变,寻找 ...
- XDS100V3连接Pandaboard ES OMAP4460开发板
1. 硬件连接如下 2. 使用CCS创建工程,不过好像没有ARM9的内核吧?为啥会出现? 3. 创建目标配置文件 4. 不过确实有ARM9的内核,两个A9内核,一个DSP C64X内核,两个M3的内核 ...
- toString()方法简单分析
问题描述 今天在使用spotbugs代码走查时发现这样一个问题,如下, String[] myArray=new String[] {"1","2"," ...
- 进阶篇:4.1)DFA设计指南:简化产品设计(kiss原则)
本章目的:理解kiss原则,明确如何简化产品的设计. 1.前言:kiss原则,优化产品的第一原则 如果要作者选出一个优化产品的最好方法,那一定是kiss原则莫属.从产品的整体设计到公差的分析,kiss ...
- java计算两个日期之间的天数,排除节假日和周末
如题所说,计算两个日期之前的天数,排除节假日和周末.这里天数的类型为double,因为该功能实现的是请假天数的计算,有请一上午假的为0.5天. 不够很坑的是每个日期都要查询数据库,感觉很浪费时间. 原 ...