千家信息网

CDH集群调优的方法是什么

发表于:2024-10-17 作者:千家信息网编辑
千家信息网最后更新 2024年10月17日,本文小编为大家详细介绍"CDH集群调优的方法是什么",内容详细,步骤清晰,细节处理妥当,希望这篇"CDH集群调优的方法是什么"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。D
千家信息网最后更新 2024年10月17日CDH集群调优的方法是什么

本文小编为大家详细介绍"CDH集群调优的方法是什么",内容详细,步骤清晰,细节处理妥当,希望这篇"CDH集群调优的方法是什么"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

DRF和相关参数

DRF: Dominant Resource Fairness,根据CPU和内存公平调度资源。CDH动态资源池默认采用的DRF计划策略。简单的理解就是内存不够的时候,多余的CPU就不会分配任务了,就让他空着;CPU不够的时候,多出来的内存也不会再启动任务了。

理解这个计划策略后,再查看Yarn启动任务时资源相关的参数,发现有以下几个参数可能会产生影响:

  • mapreduce.map.memory.mb ,map任务内存,cdh默认1G

  • mapreduce.map.cpu.vcores ,map任务虚拟CPU核数,cdh默认1

  • mapreduce.reduce.memory.mb ,reduce任务内存,cdh默认1G

  • mapreduce.reduce.cpu.vcores ,reduce任务虚拟CPU核数,cdh默认1

  • yarn.nodemanager.resource.memory-mb ,容器内存,cdh默认8G

  • yarn.nodemanager.resource.cpu-vcores ,容器虚拟CPU核数,cdh默认8,但CM会自动检测内核数并修改,我这里被自动改成了24。

可以看到默认配置下,CPU核数和内存是1:1G的比例来启动任务的。

接着查看了下分配给Yarn的内存,果然是8×15=120G,所以可用内存比可用vcores(360个)比起来就小太多了,导致按照1:1G的比例下最多只能使用120个vcores。

测试

为了证实我的猜想,将 yarn.nodemanager.resource.memory-mb 调成了16G(咱内存128G,管够)。重启yarn后,再次启动MR,于是有了下图:

可以看到参数调整前,Yarn可用内存为120G,调整后变成了240G;vcores由调整前的120变成了240。至此,证明猜想正确。

所以对于这个集群来说,由于内存为128G,内核为24个,所以完全可以将 yarn.nodemanager.resource.memory-mb 参数调成24G,这样就能将所有的CPU都利用起来了。

测试结果

yarn.nodemanager.resource.memory-mb 为8G时:

Time taken: 3794.17 secondsTotal MapReduce CPU Time Spent: 3 days 10 hours 43 minutes 22 seconds 640 msec

yarn.nodemanager.resource.memory-mb 为16G时:

Time taken: 2077.138 secondsTotal MapReduce CPU Time Spent: 3 days 12 hours 55 minutes 43 seconds 210 msec

可以看到确实快了很多很多。(ps:两次跑的任务所用的数据不一样,以免缓存导致第二次跑相同的任务会速度比第一次快,但两次任务所用的数据量差不多,都在650G左右)

其它

查看VCores SQL
SELECT allocated_vcores_cumulative, available_vcores where category=YARN_POOL and serviceName="yarn" and queueName=root
查看分配给Yarn的内存 SQL
SELECT allocated_memory_mb_cumulative, available_memory_mb where category=YARN_POOL and serviceName="yarn" and queueName=root

当然最简单的查看方式就是在CM的"动态资源池"页面看。

读到这里,这篇"CDH集群调优的方法是什么"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。

内存 任务 参数 集群 核数 资源 方法 文章 分配 调整 不够 内容 内核 动态 容器 就是 所用 数据 时候 比例 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 str数据库用法 上海java软件开发价格 西宁直播软件开发价格 梦想世界怎么查看服务器等级多少 网络安全测评事项有哪些内容 怎样从数据库插入另一个表 列举一下优化数据库的方法 网络安全包含计算机安全么 自考专科网络安全考什么 mysql使用数据库的指令 qt 创建 数据库连接池 tcp调试换个服务器就连不上 空间数据库技术的重点是 奉贤区即时网络技术展示 java软件开发工程师证书 怎么从数据库读取已登陆用户名 汕头应用软件开发报价 虹口区品牌软件开发要多少钱 怎样建立乡贤数据库 微信软件开发家电话 软件开发专业能报考哪些学校 服务器设置不支持此配件 宝山区海航软件开发哪家便宜 安徽卫星时钟服务器云主机 软件开发受让方式 供电公司开展网络安全基础考试 德阳共享轮椅软件开发 传统网络安全策略 泉州售后服务软件开发 邻接权 数据库
0