首页 > 其他分享 >CDH集群之YARN性能调优

CDH集群之YARN性能调优

时间:2023-08-17 19:33:56浏览次数:34  
标签:container 配置 CDH YARN 调优 集群 yarn CPU

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博客

标签:container,配置,CDH,YARN,调优,集群,yarn,CPU
From: https://www.cnblogs.com/atao-BigData/p/17638670.html

相关文章

  • 使用CDH调整yarn的内存和CPU资源大小
    1、登录CDH后选择YARN2、更改CPU在yarn配置页面,搜索在类别->资源管理中找到【容器虚拟CPU内核】或者直接搜索yarn.nodemanager.resource.cpu-vcores这里改的是单个服务器可以用的CPU的核心数,假设有3台服务器,每台这里设置32那总的yarn集群可用的cpu数就是32*3=96C,这个效果......
  • npm与yarn
    早期npm速度慢,因为yarn有缓存机制、为并行安装,npm为串行安装。yarn带有版本锁定。2018年npm6发布后npm和yarn的构建时间不再有显差异。1.npm公共包1)注册创建账号2)打包好需要发布的内容3)切换下载源为npm官方源4)nrmusenpm5)登录npmlogin6)发布npmpublish--access=......
  • 网络运维之无线调优
    1.无线连接速率下降无线网络设备能够智能调整传输速率,以适应无线信号强度的变化,保证无线网络的畅通。但是,如果连续一段时间内网络连接速度低于2Mb/s,那就说明网络可能出现了故障,可以进行以下操作,以恢复原有的传输速率:01.查看是否开启了无线网卡的节电模式。在采用节电模......
  • JVM调优(十七)JVM常见调优问题和工具的使用
    JVM调优(十七)JVM常见调优问题和工具的使用说辞熟悉GC常见算法熟悉常见的垃圾回收器,具有实际JVM调优经验1什么是调优根据需求进行JVM优化和预调优优化JVM的运行环境(慢、卡顿)解决JVM运行过程中出现的各种问题(OOM)2JVM常用调优命令jps:JDK自带,全称javaprocess,列出系......
  • 性能测试报告:用于项目的性能验证、性能调优、发现性能缺陷等应用场景
     性能测试报告是一种重要的报告类型,旨在评估软件系统的性能、稳定性和安全性。在这篇文章中,我们将详细介绍性能测试报告的应用场景、测试方法和性能指标,以及如何撰写一份有效的性能测试报告。一、概述性能测试报告的目的是对软件系统的性能进行全面的评估,以便更好地进行性能......
  • .Net的性能调优
    .Net的性能调优一、.NetCore中的内存泄露1.1什么是内存溢出和内存泄露什么叫内存泄露(memoryleak)是指程序在申请内存后,无法释放已申请的内存空间,导致系统无法及时回收内存并且分配给其他进程使用。通常少次数的内存无法及时回收并不会到程序造成什么影响,但是如果在内存本身就......
  • Amazon EMR Hudi 性能调优——Clustering
    随着数据体量的日益增长,人们对Hudi的查询性能也提出更多要求,除了Parquet存储格式本来的性能优势之外,还希望Hudi能够提供更多的性能优化的技术途径,尤其当对Hudi表进行高并发的写入,产生了大量的小文件之后,又需要使用Presto/Trino对Hudi表进行高吞吐的即席查询的场景里。......
  • Spark提交程序到Yarn任务状态一直为Accepted
    正在学习《Spark快速大数据分析》第七章-在集群上运行Spark,写了一个单词数量统计的Spark程序提及到Yarn,但是状态一直是Accepted,等待运行。1、排查了Yarn资源调度器配置,配置的是公平配置,确认无问题<property> <name>yarn.scheduler.fair.allocation.file</name> <value>/opt/ha......
  • JVM性能监控和调优
    JVM性能监控和调优JVM(Java虚拟机)调优是为了优化Java应用程序的性能和稳定性。JVM调优的目的是通过调整JVM的配置参数和优化应用程序代码,使其在给定的硬件和软件环境下达到更好的性能表现。防止出现OOM,进行JVM规划和预调优,解决程序中出现的各种OOM,减少FullGC出现的频率,解决运行慢......
  • 让Webbrowser、CDHtmlDialog中的控件显示为系统主题样式
    方法1:在HTML文件里加上如下代码<METAHTTP-EQUIV="MSThemeCompatible"CONTENT="Yes">方法3:在以CDHtmlDialog类为基类的头文件中加入如下代码(推荐)classCWebBrowserThemeDlg:publicCDHtmlDialog{STDMETHOD(GetHostInfo)(DOCHOSTUIINFO*pInfo){pInfo->dwFlags|......