[1166]CDH集群删除主机节点
CM 集群下线节点,主要参考官方文档:
- 操作前调优文档: https://docs.cloudera.com/documentation/enterprise/6/latest/topics/cm_mc_decomm_host.html#concept_urw_wyw_cy
- 操作文档:https://docs.cloudera.com/documentation/enterprise/6/latest/topics/cm_mc_host_maint.html#cm_mc_host_maint
具体步骤如下: 1、开始下线前的自检
# 自检 hdfs 文件是否有损坏
hdfs fsck / -list-corruptfileblocks -openforwrite -files -blocks -locations
# 如果文件有损坏,需要进行修复
hdfs fsck file_name -move
2、选择需要下线的主机,开始下线。为了避免下线过程中出现数据丢失的风险,一次下线的主机数量要小于 hdfs block 的副本数量。
3、选择迁移时是否要同步迁移数据,一般时要选择同步迁移数据。然后开始下线节点
4、接着会显示节点下线的进度。同时在NameNode web ui 上会显示 hdfs block 文件向其他节点的同步进度(主要看 Number of Under-Replicated Blocks)。
在 NameNode Summary 页面,可以看到正在下线的节点数量和待迁移的 hdfs block 数量。
5、下线结束后,可以去集群后台使用命令查看各个节点在迁移后的磁盘使用率
hdfs dfsadmin -report
在下线过程中,可能存在以下情况:
- 参数调优时,设置参数过大,同步速度快但是集群负载高,导致失败; 网络波动导致 NameNode 主备切换,web界面显示下线过程结束了,但后台还在进行;
- 这时会出现block还未迁移完的情况(Under-replicated blocks显示不为0),可以等hdfs自动修复(推荐),也可以手动修复(速度也很慢)。
手动修复执行脚本如下:
hdfs fsck / | grep 'Under replicated' | awk -F':' '{print $1}' >> /tmp/under_replicated_files
然后循环修复:
for hdfsfile in `cat /tmp/under_replicated_files`; do echo "Fixing $hdfsfile :" ; hadoop fs -setrep 3 $hdfsfile; done
6、数据迁移完后,开始从CM上删除节点。先进行从集群中删除主机,然后进行Remove Hosts From Cloudera Manager,直接在对应的页面中使用默认选项确定即可,注意Remove Hosts From Cloudera Manager中需要先去下线节点上手动停止cm-agent:
systemctl stop cloudera-scm-agent
然后直接点击确定即可,这里貌似也会解除授权角色,自动进行数据迁移到其他节点,但我没有这么操作过。
附录:
hdfs fsck 参数详解:
- Total size : hdfs集群存储大小,不包括复本大小。
- Total blocks (validated) : 总共的块数量,不包括复本。
- Number of data-nodes : datanode的节点数量
- Number of racks : 机架数量
- Default replication factor : 默认的复制因子
- Average block replication : 当前块的平均复制数,如果小 default replication factor,则有块丢失
- Under-replicated blocks : 正在复制块数量,可采用 hadoop fsck -blocks 解决问题
- Mis-replicated blocks : 正复制的缺少复制块的数量
- Missing replicas : 缺少复制块的数量,通常情况下Under-replicated blocks\Mis-replicated blocks\Missing replicas 都为0,则集群健康,如果不为0,则缺失块了
- Corrupt blocks : 坏块的数量,这个值不为0,则说明当前集群有不可恢复的块,即数据有丢失了
当下架节点时Under-replicated blocks\Mis-replicated blocks\Missing replicas,这三个参数会显示当前,需要补的块的数量,集群会自动补全,当三个参数都为0时,则集群块的复制块完全了。
- 登录CM主页 --> 选择“主机” --> “所有主机”,勾选要删除的主机 -->“停止主机上的角色”;
- 后台登录到要被删除的主机,停掉agent服务;已经设置了开机自启动的,要disable掉。
sudo /etc/init.d/cloudera-scm-agent stop
systemctl status cloudera-scm-agent
- 再次登录CM主页 - 主机 - 所有主机,勾选要删除的主机 - 从集群中删除;
- 再次勾选要删除的主机 - Remove Hosts from Cloudera Manager。
参考: https://blog.csdn.net/lifewujianqiang/article/details/122854978 https://blog.csdn.net/hcq_lxq/article/details/121625914 https://www.ngui.cc/el/1446007.html?action=onClick
相关文章
- 2022-09-27:给定一个棵树, 树上每个节点都有自己的值,记录在数组nums里, 比如nums[4] = 10,表示4号点的值是10, 给定树上的每一条边
- 为什么Kubernetes从节点会join失败
- 【每日要闻】比亚迪暂定年底推高端品牌,首款越野车型定价100万元以上;AMD已成台积电N5节点第二大客户
- 华为机试 HJ48-从单向链表中删除指定值的节点
- 【Linux】Docker 中搭建Redis单节点以及集群
- Kafka快速入门(Kafka Broker)节点服役和退役、手动调整副本
- Flink单节点安装部署
- 【Groovy】自定义 Xml 生成器 BuilderSupport ( nodeCompleted 方法获取节点闭合信息 )
- Hadoop分布式集群部署(单namenode节点)详解大数据
- 探索Oracle数据库的叶子节点(oracle叶子节点)
- 简单快捷单节点Redis配置指南(单节点redis配置)
- Redis集群实现多节点数据合并(多个redis合并)
- 让Redis集群拥有更多节点实现可扩展性(redis集群设置节点数)
- 深入探索Redis集群节点重置机制(redis集群节点重置)
- 基于Redis的集群节点进行优化配置(redis集群节点添加)
- 深入了解Redis集群节点数的选择要点(Redis集群节点数选择)
- 实现Redis集群高可用之节点宕机处理(redis集群 节点宕机)
- 实现Redis集群拓展如何添加新的节点(redis集群 添加节点)
- 挂掉恐慌Redis集群主节点危机(redis集群主节点挂掉)
- 高可用性搭建Redis集群主备节点(redis集群主备节点)
- 深入浅出手把手教你在Redis集群中添加新节点(redis集群中添加节点)
- Redis集群3个主节点6个从节点的高可用部署架构(redis集群3主6从)
- 部署Redis集群节点命令指导(redis节点命令)