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

CDH集群常用管理操作

3条评论4,442次浏览

调整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
标签:
3条评论
  1. 雪夜孤狼说道:

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

  2. 匿名说道:

    你好 我想问下一般删除节点要多久,要删除的datanode大概用了1t,解除授权已经30多小时还没完成,请问是出现什么问题了吗

    • lc277说道:

      你好 我想问下一般删除节点要多久,要删除的datanode大概用了1t,解除授权已经30多小时还没完成,请问是出现什么问题了吗 麻烦告诉下谢谢
      qq1844554123

发表评论


profile
  • 文章总数:79篇
  • 评论总数:280条
  • 分类总数:31个
  • 标签总数:44个
  • 运行时间:1130天

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

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

最新评论
  • 张瑞昌: 有很多,比较常见的是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包能否发个列表.
  • Anonymous: 部分程序已经无法使用, 另外 你的import代码 也应该放上来哈
  • wzq: 赞
  • 增达网: 受教了!呵呵!
  • Anonymous: :!: :smile: :oops: :grin: :eek: :shock:
  • 27: :razz: dsa会报错,rsa不会
  • Anonymous: 看错了 忽略我
  • Anonymous: UserSideCF这个类在哪里
  • 晴子: 在主节点初始化CM5数据库的时候报错误:Verifying that we can write to /opt/cm-5.9.0/etc/cloudera-scm -server log4j:ERROR Could not...
  • zhangnew: 就4题 :?:
  • linxh: “ 但要是遇到预先并不知道数组的长度而又需要获取正确的(或者称之 为原始的)split长度时,该如何处理呢。。? ” 印象中可以split函数参数传-1?