Spark On Yarn VCore Userd 值不正常(DefaultResourceCalculator / DominantResourceCalculator )
Spark On Yarn VCore Userd 值不正常,目前集群有两个任务再跑,每个任务使用1cores。
在执行下面的脚本的时候。资源使用如下图:
执行脚本:
spark-submit \ --master yarn \ --deploy-mode cluster \ --class com.yss.aml.core.analysis.Analysis1201 \ --driver-memory 5g \ --num-executors 9 \ --executor-memory 5g \ --executor-cores 10 \ /data/temp/core.jar \ "20190128" |
从脚本来看,申请executors数量9,每个executor-cores数量为10,那么申请的VCore Userd 至少为90+1,即91个。
加上原来集群VCore Userd 为2, 那么正常来说,集群在跑的时候数值理论至少为93个。
从截图上看,VCore Userd的使用量只有12个。 为什么?
Property | Description |
---|---|
yarn.scheduler.capacity.resource-calculator | The ResourceCalculator implementation to be used to compare Resources in the scheduler. The default i.e. org.apache.hadoop.yarn.util.resource.DefaultResourseCalculator only uses Memory while DominantResourceCalculator uses Dominant-resource to compare multi-dimensional resources such as Memory, CPU etc. A Java ResourceCalculator class name is expected. |
yarn默认情况下,只根据内存调度资源,所以spark on yarn运行的时候,即使通过--executor-cores指定vcore个数为N,但是在yarn的资源管理页面上看到使用的vcore个数还是1. 相关配置在capacity-scheduler.xml 文件:
<property>
<name>yarn.scheduler.capacity.resource-calculator</name>
<value>org.apache.hadoop.yarn.util.resource.DefaultResourceCalculator</value>
<description>
The ResourceCalculator implementation to be used to compare
Resources in the scheduler.
The default i.e. DefaultResourceCalculator only uses Memory while
DominantResourceCalculator uses dominant-resource to compare
multi-dimensional resources such as Memory, CPU etc.
</description>
</property>
我们应该考虑使用DominantResourceCalculator,该资源计算器在计算资源的时候会综合考虑cpu和内存的情况,来决定yarn最后的调度。
<property>
<name>yarn.scheduler.capacity.resource-calculator</name>
<!-- <value>org.apache.hadoop.yarn.util.resource.DefaultResourceCalculator</value> -->
<value>org.apache.hadoop.yarn.util.resource.DominantResourceCalculator</value>
</property>
ambari调整页面:
yarn.scheduler.capacity.resource-calculator=org.apache.hadoop.yarn.util.resource.DominantResourceCalculator
好了,添加完,记得验证一下。
清理到yarn所有的任务。
提交参数:
spark-submit
--master yarn
--deploy-mode cluster
--class com.yss.aml.core.analysis.Analysis1201
--driver-memory 5g
--num-executors 9
--executor-memory 3g
--executor-cores 10
/data/temp/core.jar "20190128"
Cpu: executor数量* executor上使用的cpu数量 + am Core数量 = 9*10 +1 = 91
Memory: executor数量* executor上使用的cpu数量+ driver内存 = 9*3+5 = 42
官方文档:http://hadoop.apache.org/docs/r2.7.3/hadoop-yarn/hadoop-yarn-site/CapacityScheduler.html
Spark On Yarn VCore Userd 值不正常(DefaultResourceCalculator / DominantResourceCalculator )相关推荐
- 2021年大数据Spark(九):Spark On Yarn两种模式总结
目录 Spark On Yarn两种模式 引入 一.当一个MR应用提交运行到Hadoop YARN上时 二.当一个Spark应用提交运行在集群上时 注意 client 模式 cluster 模式 总结 ...
- Apache Spark源码走读之8 -- Spark on Yarn
欢迎转载,转载请注明出处,徽沪一郎. 概要 Hadoop2中的Yarn是一个分布式计算资源的管理平台,由于其有极好的模型抽象,非常有可能成为分布式计算资源管理的事实标准.其主要职责将是分布式计算集群的 ...
- spark on yarn 完全分布式_Spark编程笔记(1)-架构基础与运行原理
引言 根据IBM前首席执行官郭士纳的观点,IT领域每隔十五年就会迎来一 次重大变革 .当前我们正处于第三次信息浪潮(2010年前后),物联网.云计算和大数据技术突飞猛进. 信息爆炸是我们当前所需要解决 ...
- Spark on Yarn:任务提交参数配置
当在YARN上运行Spark作业,每个Spark executor作为一个YARN容器运行.Spark可以使得多个Tasks在同一个容器里面运行. 以下参数配置为例子: spark-submit -- ...
- spark on yarn的未解之谜
对spark on yarn研究比较多的朋友都应该发现过你明明给executor申请了1GB内存,结果发现该executor占用了yarn的2GB内存. 其实,对于spark的driver和execu ...
- kerberos体系下的应用(yarn,spark on yarn)
kerberos 介绍 阅读本文之前建议先预读下面这篇博客 kerberos认证原理---讲的非常细致,易懂 Kerberos实际上一个基于Ticket的认证方式.Client想要获取Server端的 ...
- Spark(十二) -- Spark On Yarn Spark as a Service Spark On Tachyon
Spark On Yarn: 从0.6.0版本其,就可以在在Yarn上运行Spark 通过Yarn进行统一的资源管理和调度 进而可以实现不止Spark,多种处理框架并存工作的场景 部署Spark On ...
- Spark源码走读10——Spark On Yarn
首先需要修改配置文件spark-env.sh.在这个文件中需要添加两个属性: Export HADOOP_HOME=/../hadoop.. ExportHADOOP_CONF_DIR=/../had ...
- spark 查看yarn日志_spark周边项目之Livy
无Spark Client环境的部署实现 首先,熟悉spark开发的人都知道spark的部署模式分为三种,分别为Local.Standalone.YARN,通过YARN又分为YARN-Client和Y ...
最新文章
- 常用的CSS(收集)
- 教你用OpenCV实现机器学习最简单的k-NN算法
- 皮一皮:没想到被小龙虾套路了...
- Extjs学习笔记--(五,事件)
- python菜鸟基础教程-python基础菜鸟教程,Python的基础语法
- 《C++ Primer 4th》读书笔记 第6章-语句
- C++中的转换构造函数和类型转换函数
- Redis及其Sentinel配置项详细说明
- SciSharpCube:容器中的SciSharp,.NET机器学习开箱即用
- 英语名词复数的一般构成方法以及读音规则
- Class.forName和ClassLoader
- 写磁盘太慢导致服务超时问题分析
- idea断点调试继续执行快捷键(keymap设置了eclipse)
- 为什么属龙的有二婚命_88属龙的一生婚姻状况详细解析
- python字典添加元素使用技巧大全_字典里添加元素有哪些方法
- 瑞友天翼应用虚拟化系统服务器lP,瑞友天翼应用虚拟化系统 V6.0.6发版
- java文件处理(3)——实现文件复制和文件移动
- vs使用中遇到的问题与插件
- MD通过vscode生成PDF(带目录标签)
- 用计算机写作400字,关于电脑的作文400字
热门文章
- photo,image,picture三个词区别以及cinema、film 和movie的用法与差别
- 对前端开发的基本认识
- (附源码)计算机毕业设计SSM化妆品销售网站
- iOS新浪微博客户端开发(4)——自定义微博Cell的实现
- 百度入链,前往何处?
- word在另外计算机格式不对,为什么word 2007文件在不同电脑上排版显示不同?应该如何解决?...
- Symbol类型的注意点?
- 保留Hive分区的最新文件
- python+django+vue图书馆选座系统pycharm源码lw
- 【优化求解】基于遗传算法求解多目标配电网重构模型matlab源码