当前位置:网站首页>【yarn】CDP集群 Yarn配置capacity调度器批量分配
【yarn】CDP集群 Yarn配置capacity调度器批量分配
2022-07-06 09:15:00 【kiraraLou】
一、前言
最近要升级 CDH
集群成 CDP
集群,CDH
集群中 Yarn
服务默认使用的是 fair
调度器,CDP
集群使用的是 capacity
调度器,我们之前淌过 调度器因为批量分配设置不合理,导致任务集中分配到了某几台节点,使集群资源负载极度不均衡。
为了避免同样的问题出现在 CDP
集群上,我们提前进行调研。看看使用 调度器会不会也有集中分配的现象。但是调研过程中,出现了一些不和预期的现象,等待后续跟进。
二、CDH集中分配
前面介绍过,CDH 5.8-Hadoop2.6.0
版本后,针对公平调度
,有如下几个配置,来针对任务类型(小任务)加快分配的优化。
配置名 | 解释 |
---|---|
yarn.scheduler.fair.max.assign | 最大分配数:如果 assignmultiple 为 true 且 dynamic.max.assign 为 false,则一个心跳中可以分配的最大容器数。 |
yarn.scheduler.fair.assignmultiple | 分配多个:是否允许在一个心跳中分配多个容器。 |
yarn.scheduler.fair.dynamic.max.assign | 如果assignmultiple为真,是否动态确定一个心跳可以分配的资源量。开启后,节点上大约一半的未分配资源会在一次心跳中分配给容器。默认为真。 |
通过合理的配置,我们就可以即使用集中分配的方式,又不会扩大集群负载差异。
CDH
集群如何配置这里不展开介绍。
三、CDP集中分配
CDP 集群中已经使用容量调度
来作为默认的调度器,通过查阅官方和Cloudera 文件,发现 调度也是有通过心跳为 NodeManager
分配多个容器。相关配置如下:
配置名 | 解释 |
---|---|
yarn.scheduler.capacity.per-node-heartbeat.multiple-assignments-enabled | 是否允许在一个 NodeManager 心跳中分配多个容器。默认为真。 |
yarn.scheduler.capacity.per-node-heartbeat.maximum-container-assignments | 如果multiple-assignments-enabled 为 true ,则在一个 NodeManager 心跳中可以分配的最大容器数量。默认为 -1,不设置限制。 |
yarn.scheduler.capacity.per-node-heartbeat.maximum-offswitch-assignments | 如果multiple-assignments-enabled 为 true ,则在一个 NodeManager 心跳中可以分配的最大 off-switch 容器数量。默认为 1,表示一个心跳中只允许一个关闭开关分配。 |
如何配置
在
Cloudera Manager
中,选择集群 >YARN 队列管理器 UI 服务
。在
YARN
队列管理器窗口中,单击调度程序配置选项卡。在“调度程序配置”窗口中
选中
Enable Multiple Assignments Per Heartbeat
复选框以允许在一个NodeManager
心跳中分配多个容器配置以下
NodeManager
心跳属性:
Maximum Container Assignments Per Heartbeat
: 在一个NodeManager
心跳中可以分配的最大容器数。将此值设置为 -1 将禁用此限制。Maximum Off-Switch Assignments Per Heartbeat
: 可以在一个NodeManager
心跳中分配的关闭开关容器的最大数量。
三、总结
capacity
调度器也有类似fair
调度器的心跳批量分配配置。- CDP 集群
capacity
调度器默认开启了批量分配,并且分配数量为 100,这个值需要调小。 - 目前测试下来,发现配置好像没有生效,这个需要后续联系专家跟进下。
参考
https://docs.cloudera.com/cdp-private-cloud-base/7.1.7/yarn-allocate-resources/topics/yarn-set-user-limits.html
https://docs.cloudera.com/cdp-private-cloud-base/7.1.7/yarn-allocate-resources/topics/yarn-configure-nm-heartbeat.html
https://hadoop.apache.org/docs/r3.1.1/hadoop-yarn/hadoop-yarn-site/CapacityScheduler.html#Reviewing_the_configuration_of_the_CapacityScheduler
边栏推荐
- {一周总结}带你走进js知识的海洋
- Julia 1.6 1.7 common problem solving
- 误删Path变量解决
- [Blue Bridge Cup 2017 preliminary] buns make up
- Learning question 1:127.0.0.1 refused our visit
- Did you forget to register or load this tag
- Case analysis of data inconsistency caused by Pt OSC table change
- Aborted connection 1055898 to db:
- Cookie setting three-day secret free login (run tutorial)
- QT creator uses Valgrind code analysis tool
猜你喜欢
安装numpy问题总结
Unable to call numpy in pycharm, with an error modulenotfounderror: no module named 'numpy‘
C语言读取BMP文件
wangeditor富文本引用、表格使用问题
Learn winpwn (3) -- sEH from scratch
Pytorch基础
02-项目实战之后台员工信息管理
MTCNN人脸检测
Vs2019 desktop app quick start
Image recognition - pyteseract TesseractNotFoundError: tesseract is not installed or it‘s not in your path
随机推荐
[free setup] asp Net online course selection system design and Implementation (source code +lunwen)
02 staff information management after the actual project
Unable to call numpy in pycharm, with an error modulenotfounderror: no module named 'numpy‘
快来走进JVM吧
Attention apply personal understanding to images
L2-001 emergency rescue (25 points)
MySQL and C language connection (vs2019 version)
Test objects involved in safety test
01项目需求分析 (点餐系统)
Aborted connection 1055898 to db:
人脸识别 face_recognition
What does BSP mean
How to configure flymcu (STM32 serial port download software) is shown in super detail
UDS learning notes on fault codes (0x19 and 0x14 services)
Error reporting solution - io UnsupportedOperation: can‘t do nonzero end-relative seeks
Learning question 1:127.0.0.1 refused our visit
[Bluebridge cup 2020 preliminary] horizontal segmentation
库函数--(持续更新)
DICOM: Overview
Software I2C based on Hal Library