CDH 5.x 调优

2024-06-12 19:08
文章标签 调优 cdh

本文主要是介绍CDH 5.x 调优,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!




问题一: mapreduce 分配的内存太小



原因: 由于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。



解决办法:

通过 CDH 前端页面的 动态资源池配置  进行配置。






问题二: 修改yarn 内存





解决办法:

单个机器配置是 2核, 16G

当上图中改成 8 G时 ,yarn 启动不了。



问题三: 修改Spark内存



问题四: 修改HDFS 缓存


问题五:安装HUE等组件


问题六: oozie缺少 extjs 组件


下载extjs 的zip包。

http://archive.cloudera.com/gplextras/misc/ext-2.2.zip


解压到  /var/lib/oozie  包下面

  

配置完成:



问题七: 内存合理配置清单

  • yarn_nodemanager_resource_memory_mb     (16GB)
  • yarn_scheduler_maximum_allocation_mb
  • yarn.scheduler.maximum-allocation-vcores (6 vcores)
  • yarn.scheduler.minimum-allocation-mb (16GB  )
  • yarn.scheduler.increment-allocation-mb
  • history_server_max_heapsize 


问题一: mapreduce 分配的内存太小



原因: 由于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。



解决办法:

通过 CDH 前端页面的 动态资源池配置  进行配置。






问题二: 修改yarn 内存





解决办法:

单个机器配置是 2核, 16G

当上图中改成 8 G时 ,yarn 启动不了。



问题三: 修改Spark内存



问题四: 修改HDFS 缓存


问题五:安装HUE等组件


问题六: oozie缺少 extjs 组件


下载extjs 的zip包。

http://archive.cloudera.com/gplextras/misc/ext-2.2.zip


解压到  /var/lib/oozie  包下面

  

配置完成:



问题七: 内存合理配置清单

  • yarn_nodemanager_resource_memory_mb     (16GB)
  • yarn_scheduler_maximum_allocation_mb  (16GB  )
  • yarn.scheduler.maximum-allocation-vcores (6 vcores)
  • yarn.scheduler.minimum-allocation-mb 
  • yarn.scheduler.increment-allocation-mb
  • history_server_max_heapsize 

这篇关于CDH 5.x 调优的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1055079

相关文章

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

JVM内存调优原则及几种JVM内存调优方法

JVM内存调优原则及几种JVM内存调优方法 1、堆大小设置。 2、回收器选择。   1、在对JVM内存调优的时候不能只看操作系统级别Java进程所占用的内存,这个数值不能准确的反应堆内存的真实占用情况,因为GC过后这个值是不会变化的,因此内存调优的时候要更多地使用JDK提供的内存查看工具,比如JConsole和Java VisualVM。   2、对JVM内存的系统级的调优主要的目的是减少

Linux系统性能调优详解

前言 在服务器运维和管理中,Linux系统的性能调优是确保服务稳定性和响应速度的关键。通过对系统进行细致的调优,可以显著提升处理能力,优化资源利用率。本文将详细介绍Linux性能调优的多个方面,包括系统监控、磁盘优化、内存管理、网络配置等,并提供实用的技巧和工具。 简介 Linux性能调优是一个涉及多个层面的复杂过程,旨在确保系统资源得到最佳利用,从而提高整体性能和响应速度。 调优实践

高性能计算应用优化之代码实现调优(一)

本章将介绍代码实现过程中使用到的调优方法。在软件开发早期,开发者更多关注代码功能的实现,对代码的性能关注较少,随着代码规模增加,不合理的代码实现方法所带来的性能包袱逐渐凸显。因此,需要对原有代码实现进行优化,如修改不合理的访存顺序,使代码更易于被编译器优化等。 浮点数运算 浮点数运算是科学计算中开销最大的部分之一,特别是双精度除法,合理地设计实现浮点数运算环节可以显著提高程序的性能。 由于单

经验笔记:SQL调优

SQL调优经验笔记 引言 SQL调优是确保数据库系统高效运行的重要环节。通过对查询语句、数据库配置、硬件资源等方面进行优化,可以显著提升数据库性能,进而增强应用程序的整体表现。以下是基于常见调优手段和实践经验整理的一份经验笔记。 1. 查询语句优化 1.1 避免使用SELECT * 只选择需要的列,减少不必要的数据传输。 示例: -- 不推荐SELECT * FROM users WH

Flink在大规模状态数据集下的checkpoint调优

今天接到一个同学的反馈问题,大概是: Flink程序运行一段时间就会报这个错误,定位好多天都没有定位到。checkpoint时间是5秒,20秒都不行。 Caused by: java.io.IOException: Could not flush and close the file system output stream to hdfs://HDFSaaaa/flink/PointWid

学不会去当产品吧?Flink实战任务调优

背景 在大数据领域我们都知道,开发是最简单,任务的合理调优、问题排查才是最重要的。 我们在之前的文章《Flink面试通关手册》中也讲解过,作者结合线上出现的一些问题,总结了一些任务调优需要注意的点。 一些简单的原则 我们在之前的文章《Flink面试通关手册》中提到过一个问题,Flink任务延迟高,想解决这个问题,你会如何入手? 当时我们给出的答案是: 在Flink的后台任务管理中,

Spark学习之路 (十四)SparkCore的调优之资源调优JVM的GC垃圾收集器

《2021年最新版大数据面试题全面开启更新》 欢迎关注github《大数据成神之路》 目录 一、概述 二、垃圾收集器(garbage collector (GC)) 是什么? 三、为什么需要GC? 四、为什么需要多种GC? 五、对象存活的判断 六、垃圾回收算法 6.1 标记 -清除算法 6.2 复制算法 6.3 标记-整理算法 6.4 分代收集算法 七、垃圾收集器 7.1 Serial收集器

Spark学习之路 (十三)SparkCore的调优之资源调优JVM的基本架构

《2021年最新版大数据面试题全面开启更新》 欢迎关注github《大数据成神之路》   目录 一、JVM的结构图 1.1 Java内存结构 1.2 如何通过参数来控制各区域的内存大小 1.3 控制参数 1.4 JVM和系统调用之间的关系 二、JVM各区域的作用 2.1 Java堆(Heap) 2.2 方法区(Method Area) 2.3 程序计数器(Program Counter R

Spark学习之路 (十二)SparkCore的调优之资源调优

《2021年最新版大数据面试题全面开启更新》 欢迎关注github《大数据成神之路》 目录 一、概述 二、Spark作业基本运行原理 三、资源参数调优 3.1 num-executors 3.2 executor-memory 3.3 executor-cores 3.4 driver-memory 3.5 spark.default.parallelism 3.6 spark.storag