Spark集群资源调度
来源:互联网 发布:unity3d小游戏制作视频 编辑:程序博客网 时间:2024/05/22 02:23
在学习和使用Spark过程中,简单了解下Spark如何在不同计算间分配资源,总的来说可以分为如下两个角度去分析(请路过高手指正):
1> 每个Spark应用被分配到独立的进程(Executor)集上,Cluster Manager负责在不同的Spark应用间调度资源。
2> 对于每个Spark应用的进程集内(一个SparkContext实例内),Spark通过 Fair Scheduler来调度资源。
针对1>,
最简单的是静态分配资源;基于集群模式的不同,分配策略稍有区别:
Standalone:
--- 提交的应用遵循FIFO顺序执行(每个应用默认试图使用所有可能的结点--slave nodes)
--- 应用程序中可以限制可使用的Slave node数目(通过spark.cores.max或 spark.deploy.defaultCores)
--- 应用程序也可以限制每个executor的内存使用(spark.executor.memory)
YARN:
--- 可限制Spark应用的executor数目(--num-executor)
--- 可限制每个executor可使用的CPU及内存资源 (--executor-cores 和 --executor-memory)
Mesos:
--- 指定使用粗粒度模型 (spark.mesos.coarse设为true,表示资源静态分配)
-- 限制每个应用可使用的最大CPU资源 (spare.cores.max)
-- 限制每个executor的memory使用 (spark.executor.memory)
--- 也可指定细粒度模型,但仅针对CPU Cores(动态分配CPU资源,当应用不忙时可暂时释放CPU给其他应用。Memory仍然静态分配)
动态调度资源目前在YARN上支持,默认是disable的;未来版本会在standalone上支持。(暂时不详细介绍该部分)
针对2>--Spark应用内的资源调度:
--- 默认模式是FIFO,先被执行的Job可使用所有资源,如果先执行的Job通过资源限制并不使用所有资源,则后续的Job也可以开始运行;
--- Spark应用中可以通过代码设置采用Fair Scheduler, 简单讲这就是一种round robin模式,Job不论提交顺序,都会被轮询执行。
0 0
- Spark集群资源调度
- Spark调度机制:2)集群资源注册
- Spark资源调度
- 31 Spark资源调度
- Spark中的资源调度
- Spark资源调度
- spark资源调度分配
- Spark资源调度机制流程
- Spark资源调度机制流程
- spark资源调度流程总结
- Spark资源调度分配原理
- Spark资源调度分配解密
- Spark 资源调度及任务调度
- Spark-0.8新增Fair Scheduler资源调度
- Spark Executor Driver资源调度小结
- Spark schedule资源调度分配详解
- Spark Executor Driver资源调度小结
- Spark资源调度中的通信流程
- 2011年哈尔滨工业大学计算机研究生机试真题
- WCF实例上下文与并发
- iOS开发--利用NSProxy实现消息转发-模块化的网络接口层设计
- hdu 2610 Sequence one ( dfs+可行性剪枝 )
- 动态规划-阿里笔试
- Spark集群资源调度
- 关于++i与i++以及静态成员变量与非静态成员变量新手疑惑的地方
- 汤米维斯提
- 最长回文子串的长度 南邮NOJ 1968
- 得到UIWebView内视频播放器弹出和关闭的通知
- Linux C++ 简单线程池
- SQLServer 服务器架构扩展之数据库扩展的一些步骤
- !Light oj 1066--BFS--(队列溢出)
- 使用通用适配器Base-adapter-helper