检查丢失块
hdfs fsck -list-corruptfileblocks
或者,显示丢失块的信息
hdfs fsck /
hdfs fsck / | egrep -v '^\.+$' | grep -v eplica #过滤replica和Replica
缺失块删除
如果是无用的,不需要修复删除即可。
# 会放入回收站
hdfs dfs -rm /path/file
# 不放入回收站
hdfs dfs -rm -skipTrash /path/file
如果有用,并且没有影响,可以删除后重新上传。或者查看文件信息,具体在哪个节点,然后到节点查看日志,检查具体丢失原因,是磁盘卸载还是其他原因,在进行修复。
hdfs fsck /path/file -locations -blocks -files