CDH 5.x 调优

来源:互联网 发布:怎么写数据报告 编辑:程序博客网 时间:2024/06/15 06:49



问题一: 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