当前位置:网站首页>【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
边栏推荐
- Solution of deleting path variable by mistake
- TCP/IP协议(UDP)
- Aborted connection 1055898 to db:
- Learn winpwn (3) -- sEH from scratch
- Image recognition - pyteseract TesseractNotFoundError: tesseract is not installed or it‘s not in your path
- Remember the interview algorithm of a company: find the number of times a number appears in an ordered array
- 安全测试涉及的测试对象
- Number game
- L2-006 tree traversal (25 points)
- 图片上色项目 —— Deoldify
猜你喜欢
机器学习笔记-Week02-卷积神经网络
AcWing 1298. Solution to Cao Chong's pig raising problem
Vs2019 first MFC Application
MySQL与c语言连接(vs2019版)
Summary of numpy installation problems
Cookie setting three-day secret free login (run tutorial)
Reading BMP file with C language
{一周总结}带你走进js知识的海洋
QT creator create button
Machine learning -- census data analysis
随机推荐
nodejs 详解
double转int精度丢失问题
Face recognition_ recognition
Basic use of redis
數據庫高級學習筆記--SQL語句
Install mongdb tutorial and redis tutorial under Windows
Knowledge Q & A based on Apache Jena
Codeforces Round #771 (Div. 2)
ES6 let 和 const 命令
Rhcsa certification exam exercise (configured on the first host)
Codeforces Round #753 (Div. 3)
QT creator support platform
{one week summary} take you into the ocean of JS knowledge
Tcp/ip protocol (UDP)
AcWing 1294.樱花 题解
ES6 Promise 对象
[BSidesCF_2020]Had_a_bad_day
Heating data in data lake?
JDBC principle
Number game