程序员的自我修养
Home » 分类目录 » CDH

CDH集群调优:内存、Vcores和DRF

1条评论7,620次浏览

吐槽

最近“闲”来无事,通过CM把vcores使用情况调出来看了一眼,发现不论集群中有多少个任务在跑,已分配的VCores始终不会超过120。而集群的可用Vcores是360(15台机器×24虚拟核)。这就相当于CPU资源只用到了1/3,作为一个半强迫症患者绝对不能容忍这样的事情发生。

分析的过程不表,其实很简单就是几个参数的问题。本以为CM能智能的将这些东西配好,现在看来好像不行。以下记录结论。

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的比例来启动任务的。
(更多…)

分类:Apache Hadoop, CDH
标签:,

CDH集群常用管理操作

3条评论4,875次浏览

调整replication

随着业务数据的不断增加,hdfs可用空间逐渐减少。经过再三考虑决定将集群的备份数量由2变为1,也就是不在备份,每个数据块只有唯一的一份存档。

当初备份数由3调成2时只是简单的将dfs.replication由3变成了2,然后分发配置重启集群。记得当时通过hdfs dfsadmin -report查看hdfs占用大小发现大小一直在减少。心想着hdfs还挺智能的,知道备份数减少了,自己去删除多余的副本了。

结果这次将dfs.replication由2变成了1后发现hdfs空间一直保持不变。难道上次的记忆出错了,hdfs其实并不会自己去调整备份数?

后来查了相关资料,证实hdfs确实不会根据dfs.replication参数来自动调整备份数。这个参数是给client端用的,当有新文件写入时,会根据该参数确定复制几份,但集群已有的文件备份数不受该参数的影响。

于是使用命令hadoop fs -setrep -R 1 /将集群全部文件的备份数变为1。再次查看集群空间大小,发现下降了一半。成功。
(更多…)

分类:CDH
标签:

CDH安装中的一些问题及解决方法

2条评论8,779次浏览

Yarn服务无法启动1

有一次同事拿着我写的安装手册去安装CDH,结果在启动Yarn服务这一步一直失败,而且没有log文件生成,也就是根本就不知道是什么错误。

经过百般尝试后依然无果。于是问同事是不是严格按照我的文档上来的,同事说是。结果又尝试和排查了很多次后,同事突然说,我想起来了,打通ssh没按照你的来,你是生成key了分发到其它机器,其实有种口令直接就能分发key到其它机器,不用在本机生成。比如这样ssh-copy-id -p 8282 -i ~/.ssh/id_rsa.pub user@ip

然后,我怀着崩溃的心情告诉了他,哥哥,master机器也要能免密码登录自己啊!!

最后,做好master机器免登录自己后即可成功安装。

Yarn服务无法启动2

报错信息:

这个错误是CM的一个bug,解决方法为修改/opt/cm-5.3.0/lib64/cmf/agent/src/cmf/util.py文件。将其中的代码:

修改为:

然后重启所有Agent即可。

HDFS服务无法启动

若HDFS服务无法启动,通常是第二次尝试安装中才会遇到,这是只要将上次安装时设置的Namenode和DataNode文件夹下的数据全部删除即可。

Host Monitor和Service Monitor服务无法启动

这个错误的报错信息如下:
(更多…)

分类:CDH
标签:

CDH离线安装手册

7条评论11,685次浏览

公司终于有升级Hadoop版本的意思了,于是强烈推荐CDH版本,终于在再三的推荐下初步确定使用CDH版本了。于是CDH的测试集群搭建开始了。撒花...

  • CDH版本:5.3.0
  • 操作系统版本:CentOS 6.3
  • JDK版本:jdk-7u71-linux-x64
  • 资源下载:

系统环境搭建

  • 打通SSH
  • 配置Hosts
  • 关闭IPv6
  • 关闭SELINUX
  • 关闭防火墙
  • 打开句柄限制
  • 安装JDK
  • NTP

以上步骤参考Hadoop集群搭建全过程。其中JDK安装可能需要卸载操作系统自带的OpenJDK,命令:

(更多…)

分类:CDH
标签:,
11
profile
  • 文章总数:79篇
  • 评论总数:254条
  • 分类总数:31个
  • 标签总数:44个
  • 运行时间:1193天

大家好,欢迎来到selfup.cn。

这不是一个只谈技术的博客,这里记录我成长的点点滴滴,coding、riding and everthing!

最新评论
  • Anonymous: :arrow: :neutral: :cry:
  • Anonymous: java.io.NotSerializableExcepti on: DStream checkpointing has been enabled but the DStreams with their...
  • wick: HI,请问一下,U,S,V得到后,怎么得到近似矩阵呢(用sp ark java),谢谢。
  • Michael Whitaker: Thank you for this blog, it was very helpful in troubleshooting my own issues. It seems that no...
  • Anonymous: :mad:
  • Anonymous: :???:
  • Anonymous: :mad: :mad: :mad:
  • 洋流: 哥们,我问个问题,你把testOnborrow去掉了。。如果 得到的jedis资源是个不可用的,服务从来都不出问题么?
  • 洋流: 哥们,我问个问题,你把testOnborrow去掉了。。如果 得到的jedis资源是个不可用的,服务从来都不出问题么?
  • Anonymous: :razz: :evil: :grin:
  • 张瑞昌: 有很多,比较常见的是Jacob迭代法,一次迭代O(n^3), 迭代次数不清楚。 如果是手动算的话按照定义求就可以了
  • Anonymous: :mrgreen:
  • lc277: 你好 我想问下一般删除节点要多久,要删除的datanode大概用了 1t,解除授权已经30多小时还没完成,请问是出现什么问题了吗 麻烦告诉下谢谢 qq1844554123
  • Anonymous: 你好 我想问下一般删除节点要多久,要删除的datanode大概用了 1t,解除授权已经30多小时还没完成,请问是出现什么问题了吗
  • Anonymous: :smile: :grin: :eek:
  • 李雪璇: 想要完整代码,可以帮忙发给我吗
  • Anonymous: 请问一下,那个 user的推荐结果楼主查看了么? 为什么输入数据 最高是五分,输出结果都是7分8分啥的?怎么设置输出的分数的最 大值?
  • Anonymous: 那个 user的推荐结果楼主查看了么? 为什么输入数据 最高是五分,输出结果都是7分8分啥的?
  • Anonymous: stopGracefullyOnShutdown在yarn- client模式下我测试的无效,你的呢
  • Anonymous: 另外,import的lib包能否发个列表.