当前位置:网站首页>容量调度绝对值配置队列使用与避坑
容量调度绝对值配置队列使用与避坑
2022-06-28 05:38:00 【hncscwc】
【概述】
在yarn中,对于容量调度而言,需要配置不同的队列,并为队列分配不同的资源。然而资源的配置是按照集群总资源的百分比来的,那么,如果集群资源进行扩容,队列的资源也就相应的增加了。在某些场景下, 我们可能希望某些队列的资源是固定的,不随集群资源的扩缩容而变更,这就需要给队列资源配置一个绝对值,在hadoop3.1.0版本中,开始引入了这个功能。本文就来聊聊如何给队列配置绝对值资源,以及一些使用过程中的注意事项。
【配置使用】
配置绝对值资源的队列其实很简单,在原来配置百分比的地方,修改为资源的绝对值即可。例如:
<property> <name>yarn.scheduler.capacity.root.bigdata.capacity</name> <value>[vcores=60,memory=614400,yarn.io/gpu=0]</value></property>
这样,配置的队列就是固定的资源了。
【使用注意事项】
虽然配置比较简单,使用方式和原来相比也没有什么变化,但还是有不少要注意的地方。
1. 根队列下,队列可创建的模式
在根队列("/")下,可以同时创建类型为百分比、绝对值的子队列。
2. 根队列下,队列的容量问题
在根队列下,如果同时创建了百分比、绝对值方式的队列,那么对于百分比队列而言,累加的百分比可以大于100%,但单个队列的百分比值不能超过100%
同样对于绝对值方式的队列,所有队列的资源总和同样可以大于集群的总资源,
但是,如果根队列下只有百分比的队列,那么队列累加的百分比之和还是和之前一样,必须等于100,对于绝对值的队列,也是一样的,非根队列下的子队列,其资源的总和可以大于等于父队列的资源,但不能超过父队列的资源。
3. 子队列的模式
前面说了根队列下的队列可以同时创建百分比、绝对值方式的队列,而在非根队列下的队列,其类型就必须与父队列保持一致,即如果父队列是百分比的,那么子队列也只能是百分比;如果父队列是按绝对值方式配置的,子队列也只能以绝对值的方式进行配置,否则会报类型不匹配的错误,导致队列刷新失败或rm启动失败,例如采用如下配置更新队列:
<property> <name>yarn.scheduler.capacity.root.cloudstorage.capacity</name> <value>50</value></property><property> <name>yarn.scheduler.capacity.root.cloudstorage.queues</name> <value>ceph</value></property><property> <name>yarn.scheduler.capacity.root.cloudstorage.ceph.capacity</name> <value>[vcores=60,memory=614400,yarn.io/gpu=0]</value></property>
报错信息为:
4. 绝对值队列下创建资源为0的子队列类型问题
动态新增的某个队列不需要了, 这个时候会将队列的资源配置为0,并将队列的状态配置为STOPPED,以停用该队列。
然而由于在绝对值模式的队列下,创建的子队列也只能是以绝对值的方式配置,如果此时将子队列的值设置为0后,刷新队列会报队列的类型与父队列不匹配的错误。
即配置方式为[vcores=0,memory=0,yarn.io/gpu=0]的队列,其类型认为是百分比的模式,父队列如果是绝对值模式的, 那么确实就出现了不匹配的报错。
该问题实际上是一个bug,正确的方式是:配置为0资源的队列其类型与父队列相同。社区有对应的记录,在未来的3.4.0中修复。具体可参考YARN-10364
5. 通过yarnClient获取队里有效资源不正确
通过yarnclient的getEffectiveMinCapacity获取的值与UI界面展示的值不相符,同样这个也是源码中的BUG。赋值的时候搞错了。
注意,当前这个问题仅在trunk分支上修复
以上这些就是使用过程中常见的需要注意的点,除此之外,还有几个小的点,使用的场景也有限,这里简单罗列下,如有需要可详细参考社区的jira单。
1)绝对值配置的队列,maxApplications的值被覆盖
https://issues.apache.org/jira/browse/YARN-10396
2)第三级队列资源计算错误问题
https://issues.apache.org/jira/browse/YARN-8917
【总结】
文章就总结到这里了,看完之后是否还记得应该如何给队列配置绝对值资源,以及使用中有哪些需要注意的地方。此外,是否也还留有一些疑惑的地方,比如root队列下,多个绝对值配置的队列的总资源超过了集群资源,那么该队列使用时实际能占用多少资源,具体是如何计算的等等,这就作为下篇文章的内容,我们下次再聊。
好了,这就是本文的全部内容,如果觉得本文对您有帮助,不要吝啬点赞在看转发,也欢迎加我微信交流~
本文分享自微信公众号 - hncscwc(gh_383bc7486c1a)。
如有侵权,请联系 [email protected] 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
边栏推荐
猜你喜欢
Application of Beidou No.3 short message terminal in dam safety monitoring scheme
6. 毕业设计温湿度监控系统(ESP8266 + DHT11 +OLED 实时上传温湿度数据给公网服务器并在OLED显示屏上显示实时温湿度)
Solution of dam safety automatic monitoring system for medium and small reservoirs
Interpretation of cloud native microservice technology trend
JSP connecting Oracle to realize login and registration
mysql导出数据库字典成excel文件
Shanghai Yuge ASR CAT1 4G module 2-way low power 4G application
? How to write the position to output true
博客登录框
Jdbc的使用
随机推荐
指定默认参数值 仍报错:error: the following arguments are required:
What is the difference between AC and DC?
2022年全国职业院校技能大赛“网络安全”竞赛试题官方答案
Can wechat applets import the data in the cloud development database into makers with one click in the map component
Docker安装Mysql5.7并开启binlog
猿粉猿动力-开发者活动袭!
gorm事务体验
Install kubebuilder
双向电平转换电路
Animation de ligne
MySQL 45 talk | 05 explain the index in simple terms (Part 2)
6. 毕业设计温湿度监控系统(ESP8266 + DHT11 +OLED 实时上传温湿度数据给公网服务器并在OLED显示屏上显示实时温湿度)
Filecoin黑客松开发者大赛
OpenSSL client programming: SSL session failure caused by an obscure function
Video tutorial on website operation to achieve SEO operation [21 lectures]
数据仓库:DWS层设计原则
什么是WebRTC?
Sharing | intelligent environmental protection - ecological civilization informatization solution (PDF attached)
Mysql-17- create and manage tables
UICollectionViewDiffableDataSource及NSDiffableDataSourceSnapshot使用介绍