CDH5.6下线Hdfs的DataNode
1、准备工作
1.1 健康检查
# 退役/下线过程中也需要检查 hdfs fsck / -list-corruptfileblocks -openforwrite -files -blocks -locations
1.2 问题处理
# 若hdfs出现块问题可进入如下操作处理 hdfs fsck file_name -move # 或 hdfs fsck file_name -delete
1.3 带宽调整
# balance带宽,平衡带宽值应小于磁盘和网络上的带宽, # 以最大限度地减少对群集的影响,但需花费更长时间,如下值仅供参考 dfs.datanode.balance.bandwidthPerSec = 500MB/S
2、确定节点
进入Hdfs的实例列表,选择需要下线的DataNode节点。
3、维护模式
CDH中Hdfs的DataNode进入维护模式的作用是为了在不影响集群可用性的情况下,对DataNode进行短期的操作,比如系统升级或重启。
维护模式与退役模式不同,退役模式适用于长期的操作,比如替换硬件或移除节点。
当管理员将DataNode置于维护模式时,DataNode会先进入ENTERING_MAINTENANCE状态,然后在所有属于该DataNode的块都在其他地方有最小副本数的情况下,DataNode会进入IN_MAINTENANCE状态。
4、退役节点
4.1 解除授权
CDH中Hdfs对DataNode解除授权的作用是为了在不需要该DataNode的情况下,将其从集群中移除,比如替换硬件或减少节点数。
解除授权的过程会将DataNode上的所有块复制到其他DataNode上,以保证数据的可靠性;且DataNode会在DataNode的UI上显示为退役状态。解除授权的DataNode可以通过重新授权的方式重新加入集群。
解除授权过程中千万不要中止, 否则很大概率会出现数据块丢失的问题!
4.2 完成解除
解除授权后就相当于已经把这个DataNode节点退役完成。
5、删除节点
删除下线的DataNode,至此就完成了Hdfs的DataNode下线。
6、注意事项
- CDH5.6比较特殊, 通过配置dfs_host的方式无法生效;
- 通过解除授权即可下线, 但是解除过程中切记不要中止, 否则大概率会发生数据块丢失的问题。