查看修复HDFS中丢失的块

检测缺失块

1
2
hdfs fsck -list-corruptfileblocks
hdfs fsck / | egrep -v '^\.+$' | grep -v eplica

查看上面某一个文件的情况

1
hdfs fsck /path/to/corrupt/file -locations -blocks -files

解决方法

  1. 如果文件不重要,可以直接删除此文件;或删除后重新复制一份到集群中

    1
    hdfs fs -rm /path/to/file/with/permanently/missing/blocks

    或直接全部删除

    1
    hdfs fsck / -delete
  2. 如果不能删除,需要从上面命令中找到发生在哪台机器上,然后到此机器上查看日志。

参考