在 CentOS 上运行 HDFS(Hadoop 分布式文件系统)出现“丢数据”的情况,通常不是 HDFS 本身主动删除数据,而是配置、运维或环境异常导致的。下面按常见原因系统梳理一下,并给出排查思路。
dfs.replication 设置过小(如 1)✅ 现象:
✅ 排查:
hdfs dfsadmin -report
hdfs fsck / -files -blocks -locations
CentOS 上常见问题:
df -h 看到磁盘只读(read-only)✅ 检查:
df -h
dmesg | grep error
ls -l /data/hdfs/dn
hdfs dfs -rm✅ 解决: 开启回收站:
<property>
<name>fs.trash.interval</name>
<value>360</value>
</property>
dfs.namenode.name.dir 多目录✅ 后果:
✅ 建议:
hdfs dfsadmin -fetchImage常见点:
✅ 检查:
getenforce
free -m
systemctl status ntpd
✅ 现象:
fsck 报 missing blockshdfs fsck / -list-corruptfileblocks
MISSING → 真丢UNDER_REPLICATED → 可恢复✅ 集群层面:
✅ 系统层面(CentOS):
✅ 运维层面:
fsck你可以补充:
hdfs logs)fsck 输出我可以帮你精确定位是哪一类丢数据。