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 )相关推荐

  1. 2021年大数据Spark(九):Spark On Yarn两种模式总结

    目录 Spark On Yarn两种模式 引入 一.当一个MR应用提交运行到Hadoop YARN上时 二.当一个Spark应用提交运行在集群上时 注意 client 模式 cluster 模式 总结 ...

  2. Apache Spark源码走读之8 -- Spark on Yarn

    欢迎转载,转载请注明出处,徽沪一郎. 概要 Hadoop2中的Yarn是一个分布式计算资源的管理平台,由于其有极好的模型抽象,非常有可能成为分布式计算资源管理的事实标准.其主要职责将是分布式计算集群的 ...

  3. spark on yarn 完全分布式_Spark编程笔记(1)-架构基础与运行原理

    引言 根据IBM前首席执行官郭士纳的观点,IT领域每隔十五年就会迎来一 次重大变革 .当前我们正处于第三次信息浪潮(2010年前后),物联网.云计算和大数据技术突飞猛进. 信息爆炸是我们当前所需要解决 ...

  4. Spark on Yarn:任务提交参数配置

    当在YARN上运行Spark作业,每个Spark executor作为一个YARN容器运行.Spark可以使得多个Tasks在同一个容器里面运行. 以下参数配置为例子: spark-submit -- ...

  5. spark on yarn的未解之谜

    对spark on yarn研究比较多的朋友都应该发现过你明明给executor申请了1GB内存,结果发现该executor占用了yarn的2GB内存. 其实,对于spark的driver和execu ...

  6. kerberos体系下的应用(yarn,spark on yarn)

    kerberos 介绍 阅读本文之前建议先预读下面这篇博客 kerberos认证原理---讲的非常细致,易懂 Kerberos实际上一个基于Ticket的认证方式.Client想要获取Server端的 ...

  7. Spark(十二) -- Spark On Yarn Spark as a Service Spark On Tachyon

    Spark On Yarn: 从0.6.0版本其,就可以在在Yarn上运行Spark 通过Yarn进行统一的资源管理和调度 进而可以实现不止Spark,多种处理框架并存工作的场景 部署Spark On ...

  8. Spark源码走读10——Spark On Yarn

    首先需要修改配置文件spark-env.sh.在这个文件中需要添加两个属性: Export HADOOP_HOME=/../hadoop.. ExportHADOOP_CONF_DIR=/../had ...

  9. spark 查看yarn日志_spark周边项目之Livy

    无Spark Client环境的部署实现 首先,熟悉spark开发的人都知道spark的部署模式分为三种,分别为Local.Standalone.YARN,通过YARN又分为YARN-Client和Y ...

最新文章

  1. 常用的CSS(收集)
  2. 教你用OpenCV实现机器学习最简单的k-NN算法
  3. 皮一皮:没想到被小龙虾套路了...
  4. Extjs学习笔记--(五,事件)
  5. python菜鸟基础教程-python基础菜鸟教程,Python的基础语法
  6. 《C++ Primer 4th》读书笔记 第6章-语句
  7. C++中的转换构造函数和类型转换函数
  8. Redis及其Sentinel配置项详细说明
  9. SciSharpCube:容器中的SciSharp,.NET机器学习开箱即用
  10. 英语名词复数的一般构成方法以及读音规则
  11. Class.forName和ClassLoader
  12. 写磁盘太慢导致服务超时问题分析
  13. idea断点调试继续执行快捷键(keymap设置了eclipse)
  14. 为什么属龙的有二婚命_88属龙的一生婚姻状况详细解析
  15. python字典添加元素使用技巧大全_字典里添加元素有哪些方法
  16. 瑞友天翼应用虚拟化系统服务器lP,瑞友天翼应用虚拟化系统 V6.0.6发版
  17. java文件处理(3)——实现文件复制和文件移动
  18. vs使用中遇到的问题与插件
  19. MD通过vscode生成PDF(带目录标签)
  20. 用计算机写作400字,关于电脑的作文400字

热门文章

  1. photo,image,picture三个词区别以及cinema、film 和movie的用法与差别
  2. 对前端开发的基本认识
  3. (附源码)计算机毕业设计SSM化妆品销售网站
  4. iOS新浪微博客户端开发(4)——自定义微博Cell的实现
  5. 百度入链,前往何处?
  6. word在另外计算机格式不对,为什么word 2007文件在不同电脑上排版显示不同?应该如何解决?...
  7. Symbol类型的注意点?
  8. 保留Hive分区的最新文件
  9. python+django+vue图书馆选座系统pycharm源码lw
  10. 【优化求解】基于遗传算法求解多目标配电网重构模型matlab源码