HDFS块丢失修复
检测命令
切换到hdfs用户执行
如果集群处于安全模式需要退出安全模式
hadoop dfsadmin -safemode leave
在HDFS中,提供了fsck命令,用于检查HDFS上文件和目录的健康状态、获取文件的block块信息和位置信息等。
具体命令介绍:
-move: 移动损坏的文件到/lost+found目录下
-delete: 删除损坏的文件
-openforwrite: 输出检测中的正在被写的文件
-list-corruptfileblocks: 输出损坏的块及其所属的文件
-files: 输出正在被检测的文件
-blocks: 输出block的详细报告 (需要和-files参数一起使用)
-locations: 输出block的位置信息 (需要和-files参数一起使用)
-racks: 输出文件块位置所在的机架信息(需要和-files参数一起使用)
hdfs fsck -list-corruptfileblocks
显示有10324个文件是损坏的
查看所有受影响的文件
hdfs fsck / | grep -v '^.+$' | grep replica
查看指定文件受影响的详细信息
hdfs fsck /AIFCST/logs/TASK/2020-12-03/BKT-P1_daily_clean_forecast_store_python-H1-QG1047-2020-12-03.log -locations -blocks -files
手动修复hdfs debug
hdfs debug recoverLease -path /blockrecover/readme.md -retries 3
HDFS块丢失修复
https://www.hechunyu.com/archives/1698217073036