作者:唐辉
1 文档编写目的
在Hadoop集群中提供有主机解除授权和将节点移除集群的操作,正常情况下节点的解除授权不会导致blocks丢失的情况,但是在某些特殊场景中还是会出现小量blocks的丢失,本篇文章主要介绍如何恢复HDFS中节点正常解除授权的丢失数据如何恢复和正常解除授权时可能造成blocks 丢失的原因以及如何规避这些风险
- 文章概述
1.模拟blocks 丢失
2.重新上线已解除授权下线的节点恢复数据
3.正常解除授权下线可能造成数据丢失的原因分析
4.如何在对DataNode解除授权前调优HDFS
- 测试环境
1.CM和CDH5.15.1
2.现有集群操作系统RedHat7.2
3.正常下线的节点本地磁盘的数据并未删除
2 模拟blocks丢失
1.首先模拟blocks 丢失,在HDFS找到原文件的blocks 的名称和存放的位置
hadoop fsck /user/test/a.txt -files -blocks -locations
2.然后再本地磁盘中find 到这个文件名,包括文件和元文件,也就是文件中blk_100376901 和blk_100376901_28795.meta,找到文件后将其中两个节点上的副本mv 到其他路径,这测试直接移动到了data1 目录下
find /data1/dfs/dn -name blk_100376901*