CDH集群之YARN性能调优

CDH集群之YARN性能调优

本文主要讨论CDH集群的YARN调优配置,关于YARN的调优配置,主要关注CPU和内存的调优,其中CPU是指物理CPU个数乘以CPU核数,即Vcores = CPU数量*CPU核数。YARN是以container容器的形式封装资源的,task在container内部执行。

集群配置

集群的配置主要包括三步,第一是先规划集群的工作主机以及每台主机的配置,第二是规划每台主机的安装的组件及其资源分配,第三是规划集群的规模大小。

工作主机的配置

如下表所示:主机的内存为256G,4个6核CPU,CPU支持超线程,网络带宽为2G

工作主机安装组件配置

第一步已经明确每台主机的内存和CPU配置,下面为每台节点的服务分配资源,主要分配CPU和内存

container资源分配
Physical Cores to Vcores Multiplier:每个container的cpu core的并发线程数,本文设置为1

YARN Available Vcores:YARN可用的CPU核数=Available Container Resources * Physical Cores to Vcores Multiplier,即为44

YARN Available Memory:250880

集群大小

集群的工作节点个数:10

YARN配置

YARN NodeManager配置属性

验证YARN的配置

登录YARN的resourcemanager的WEBUI:http://:8088/,验证’Memory Total’与’Vcores Total’,如果节点都正常,那么Vcores Total应该为440,Memory应该为2450G,即250800/1024*10

YARN的container配置

YARN的container的Vcore配置

YARN的container内存配置

集群资源分配估计

container合理配置检查

MapReduce配置
ApplicationMaster配置

堆与容器大小之比

map task配置

reduce task配置

MapReduce配置合理性检查

Application Master配置的合理性检查
yarn.scheduler.minimum-allocation-vcores <= yarn.app.mapreduce.am.resource.cpu-vcores<= yarn-scheduler.maximum-allocation-vcores

yarn.scheduler.minimum-allocation-mb <= yarn.app.mapreduce.am.resource.cpu-vcores <= yarn.scheduler.maximum-allocation-mb

Java Heap大小是container大小的75%~90%: 太低会造成资源浪费, 太高会造成OOMMap Task配置的合理性检查

Reduce Task配置的合理性检查
yarn.scheduler.minimum-allocation-vcores <= mapreduce.map.cpu.vcores <= yarn-scheduler.maximum-allocation-vcores

yarn.scheduler.minimum-allocation-mb <= mapreduce.map.memory.mb <= yarn.scheduler.maximum-allocation-mb

Spill/Sort内存为每个task堆内存的40%~60%

Reduce Task配置的合理性检查
yarn.scheduler.minimum-allocation-vcores <= mapreduce.reduce.cpu.vcores <= yarn-scheduler.maximum-allocation-vcores

yarn.scheduler.minimum-allocation-mb <= mapreduce.reduce.memory.mb <= yarn.scheduler.maximum-allocation-mb

YARN和MapReduce配置参数总结

note:在CDH5.5或者更高版本中,参数mapreduce.map.java.opts, mapreduce.reduce.java.opts, yarn.app.mapreduce.am.command-opts会基于container堆内存的比例进行自动配置

原文链接:CDH集群之YARN性能调优_大数据技术与数仓的博客-CSDN博客

posted @ 2023-08-17 19:22  a-tao必须奥利给  阅读(139)  评论(0编辑  收藏  举报