本文介绍如何在CDH Hadoop集群中动态删除数据节点。在做动态删除数据节点之前我们已经有一套CDH集群环境。下面步骤为删除一个数据节点的步骤,
注:在线删除节点尽量一个节点一个节点进行删除,删除一个节点后进行必要的检查。如果一次删除较多的节点,可能会导致丢失数据块的问题。
1. 选择要删除的节点
选择菜单栏"主机",勾选要删除的节点
2. 停止主机上的所有角色
勾选节点后,从"已选定的操作"下拉框中,选择"停止主机上的角色"
完成之后可以看到节点上的所有角色处于停止状态
3. 解除授权
勾选节点后,从"已选定的操作"下拉框中,选择"Begin Maintenance(Suppress Alerts/Decommission)"
完成之后可以看到状态变为"已解除授权"
4. 从集群中删除
勾选节点后,从"已选定的操作"下拉框中,选择"从集群中删除"
完成 之后集群中看到此节点,但CM中仍然可以看到此节点
5. 从CM中删除
勾选节点后,从"已选定的操作"下拉框中,选择"Remove From Cloudera Manager"
完成之后CM页面不再看到此节点
6. 重新部署客户端
7. 验证是否丢失块
删除节点后,我们最关心的数据有无丢失,可以通过hadoop fsck /命令检查,如果输出如以下内容即代表无数据块丢失。
....................................................................Status: HEALTHY
Total size: 10356256081639 B (Total open files size: 996754639 B)
Total dirs: 280130
Total files: 453468
Total symlinks: 0 (Files currently being written: 548)
Total blocks (validated): 458431 (avg. block size 22590653 B) (Total open file blocks (not validated): 431)
Minimally replicated blocks: 458431 (100.0 %)
Over-replicated blocks: 0 (0.0 %)
Under-replicated blocks: 0 (0.0 %)
Mis-replicated blocks: 0 (0.0 %)
Default replication factor: 3
Average block replication: 3.0
Corrupt blocks: 0
Missing replicas: 0 (0.0 %)
Number of data-nodes: 18
Number of racks: 1
FSCK ended at Wed Jun 10 14:12:04 CST 2020 in 5169 milliseconds