[1166]CDH集群删除主机节点

news/2024/11/13 22:16:07/

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 的副本数量。
image.png

3、选择迁移时是否要同步迁移数据,一般时要选择同步迁移数据。然后开始下线节点
image.png

4、接着会显示节点下线的进度。同时在NameNode web ui 上会显示 hdfs block 文件向其他节点的同步进度(主要看 Number of Under-Replicated Blocks)。
image.png

在 NameNode Summary 页面,可以看到正在下线的节点数量和待迁移的 hdfs block 数量。
image.png

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:
image.png

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时,则集群块的复制块完全了。


  1. 登录CM主页 --> 选择“主机” --> “所有主机”,勾选要删除的主机 -->“停止主机上的角色”;

image.png

image.png

  1. 后台登录到要被删除的主机,停掉agent服务;已经设置了开机自启动的,要disable掉。
sudo /etc/init.d/cloudera-scm-agent  stopsystemctl status cloudera-scm-agent
  1. 再次登录CM主页 - 主机 - 所有主机,勾选要删除的主机 - 从集群中删除;

image.png
image.png

  1. 再次勾选要删除的主机 - Remove Hosts from Cloudera Manager。
    image.png

参考:
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


http://www.ppmy.cn/news/398233.html

相关文章

hadoop 3.x大数据集群搭建系列7-安装Hudi

文章目录 编译环境准备一. 下载并解压hudi二. maven的下载和配置2.1 maven的下载和解压2.2 添加环境变量到/etc/profile中2.3 修改为阿里镜像 三. 编译hudi3.1 修改pom文件3.2 修改源码兼容hadoop33.3 手动安装Kafka依赖3.4 解决spark模块依赖冲突3.4.1 修改hudi-spark-bundle的…

C++技能 ( 3 ) - 详解泛型模版和特化模版的使用【函数模版、类模版、模版全特化、模版局部特化、可变参数模版、模版模版参数】

系列文章目录 C技能系列 C高性能优化编程系列 深入理解软件架构设计系列 高级C并发线程编程 期待你的关注哦!!!有更多博文系列等着看哦,会经常更新!!! 因为你的关注激励着我的创作&#xff01…

基于Java房屋租售网站设计实现(源码+lw+部署文档+讲解等)

博主介绍: ✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精…

MTK平台的SWT异常的简单总结(3)——常见SWT/ANR类型

(1)如何查看db文件Log (2)如何确认线程关系 (3)常见类型 (A)等锁 线程状态为"Blocked",通过关键字"held by"进一步确认哪个线程拿住了锁&#xff…

深入理解前端开发中的关键技术

深入理解前端开发中的关键技术 引言 前端开发是当今互联网行业中不可或缺的一环。随着Web应用的日益复杂和用户对体验的不断追求,前端技术也在不断演进和发展。本文将深入探讨前端开发中的一些关键技术,帮助读者更好地理解和应用这些技术。 1. HTML5&…

免费u盘数据恢复软件有哪些?找个最适合你的!

**免费u盘数据恢复软件有哪些?**在使用电子设备的时候,经常会需要将重要文件备份到U盘当中,比如:常见的图像、PDF文档、视频素材等等。然而随着时间的流逝,在存储这些文件的时候,也会出现文件丢失的问题。所…

u盘误删文件怎么恢复

如何恢复U盘误删的文件?U盘是当下最为常见和使用的移动存储设备,我们在使用U盘存储文件的时候,往往会因为自己的“粗心大意”或者其它原因,导致原本存储在U盘中的重要文件被误删除了。 那么,如何恢复U盘误删的文件呢&…

如何简单快速的恢复U盘误删的文件?

相信很多人都有手滑误删的时候,当出现这种情况,如果快捷键撤销还能用的话,那么还能挽救一点,但是如果不行呢?我们也知道U盘和电脑不同,没有回收站,所以当误删了文件也没法回收到回收站中&#x…