程序员的自我修养
Home » CDH » CDH集群常用管理操作

CDH集群常用管理操作

1条评论3,204次浏览

调整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。再次查看集群空间大小,发现下降了一半。成功。

自己想想上次由3变成2时hdfs空间自己减少应该是记忆出错了,因为当时通过hdfs fsck /查看备份数的时候,平均备份数好像是2.03X,也就是当时应该有部分文件的备份时还是3,此后写入的文件的备份数才为2。

Balancer

集群运行一段时间后各个节点的磁盘使用率可能会产生较大的差异,这时可以用balancer来重新平衡各个节点。

首先调大balancer的带宽hadoop dfsadmin -setBalancerBandwidth 52428800,这里设置为50MB。默认的带宽较小,防止占用太多资源。若需要快速平衡可以将带宽调为一个较大的值。

接着启动balancer。可以在CM里启动(hdfs-balancer-示例-操作-重新平衡),也可以命令启动(hadoop balancer [-threshold ])。

删除节点

为啥没事要删除节点?我也不想,只能说前方施工的孩子们太不靠谱了,将本来归属集群的5台机器和归属应用服务器的5台机器弄混了。当时拿到配置列表的时候我就问了,为啥集群所有集群的配置不一样,这5台机器为啥配置这么差?答曰:就是这样的。

现在终于被局方发现不对了,又要调整回来,真是哔了狗了。

没办法,开始调整吧。首先,Decommission这5台机器。由于有一台机器上分配了SNN角色,决定先Decommission另外4台试试。通过Cloudera Manager在主机中选中需要Decommission的4台机器,选择从集群中删除,然后经过漫长的等待即可(视需要转移的数据量而定)。

期间发现正在Decommission的机器的DFS Used一直保持不变,但是监控显示HDFS IO增加了很多。也就是Decommission机器上的数据确实转移到了其它机器上,但是Decommission机器上的这些数据并不会删除。

接着开始处理分配了SNN的节点。首选找一台不会被Decommission的机器,添加SNN实例,然后停止正在运行的SNN实例并删除。然后启动后添加的SNN实例,重启集群即可。

增加节点

根据CDH离线安装手册配置好新加入的节点,启动新节点上的CM agent后即可在CM中主机列表中看到新加入的节点了。选中新加入的节点,应用模板并启动角色即可。最后重启集群。

待后续添加

(转载本站文章请注明作者和出处 程序员的自我修养 – SelfUp.cn ,请勿用于任何商业用途)
分类:CDH
标签:
1条评论
  1. 雪夜孤狼说道:

    请问有没有试过删除CDH的旧节点,重装之后再添加进去?我的CDH平台有个datanode被误操作释放掉了,后来一样的ip和host重建了一个,想重新加进集群

发表评论


profile
  • 文章总数:78篇
  • 评论总数:252条
  • 分类总数:31个
  • 标签总数:43个
  • 运行时间:946天

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

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

最新评论
  • pacificLee: :twisted:
  • 小码: 为什么没有后面的呢,只有前10个
  • Anonymous: :lol:
  • Anonymous: :razz: 楼主是属于会聊天的。 我想问,sqoop发了几个版本了,应该没这些问题了吧。
  • Anonymous: Config.kafkaConfig.kafkaGroupI d 这个是指自己配置的group id 还是从 import org.apache.kafka.common.config .Config 这个类...
  • Anonymous: ZkUtils.getPartitionsForTopics (zkClient, Config.kafkaConfig.topic) 那个方法是在 spark-streaming_2.10 中 kafka...
  • Anonymous: ZkUtils.getPartitionsForTopics (zkClient, Config.kafkaConfig.topic) 你确定 kafka 里面有这个类 ? 个人在kafka 最新 稳定版...
  • Anonymous: :roll:
  • Anonymous: 很不错,试问有java版的吗?
  • Anonymous: 赞
  • Anonymous: 哈哈 看楼主的吐槽乐死了 where子句是可以写的 同样找不到资料 一点点试出来的 select id from xxxx where ${CONDITIONS} and 1=1 and 2=2 limit 4
  • EVIL: 我在运行完C4.5的代码后,显示 defined object DecisionTreeTest 是什么意思?这是有错误吗?运行结果在哪里看?
  • sf: 楼主的问题,我都遇到。。。没办法项目已经定型了,最后都硬着头 皮一个一个的改了源码
  • zz: 我去,楼主你真及时,我们今天上了新的HTTP2 push之后也发现速度曲线很奇怪,开始有200k/min,跟 另一台老的推送协议速度差不多,但是过了一会,立马降到只有几k /min,百思不得其解,我们还用了一个海外代理,在...
  • qi365: :mad: 很可恶,百度助纣为虐~
  • qi365: :? :shock: haha~ very good~
  • 张是大: 《深入浅出Spark机器学习实战(用户行为分析)》 课程网盘下载:http://pan.baidu.com/s/ 1mixvUli 密码:1pfn
  • Anonymous: :???:
  • Anonymous: 我用着sqoop感觉还可以,select 几十个字段也没事,估计是版本低。。
  • Anonymous: :grin: