手动修复 under-replicated blocks in HDFS

解决方式步骤:
1、进入hdfs的pod
kubectl get pod -o wide | grep hdfs
kubectl exec -ti hadoop-hdfs-namenode-hdfs1-948569108-c5d70 bash 
2、获取票据
kinit -kt /etc/hdfs1/conf/hdfs.keytab hdfs/gz232-112
3、查询每个blocks信息
hdfs fsck -blocks -files -locations /
4、找出replication != 3 的blocks
hdfs fsck / | grep 'Under replicated'
5、cat /tmp/under_replicated_files  查看,是不是所有的都是这个问题
6、手动修复 under_replicated_files
su - <$hdfs_user>
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
原文地址:https://www.cnblogs.com/yfb918/p/10417325.html