CentOS 上排查 HDFS 故障的实用技巧
一 快速定位流程
二 配置与权限核查
三 网络连通与防火墙
四 常见故障与修复对照表
| 症状 | 快速检查 | 修复建议 |
|---|---|---|
| DataNode 启动失败,日志出现 Incompatible namespaceIDs | 对比 NameNode 与 DataNode 的 namespaceID | 清理 dfs.data.dir 后重新 namenode -format,或手动同步 ID(风险高,谨慎) |
| 客户端写入慢或超时(如 75s) | 查看客户端与 DataNode 网络/磁盘;观察 Slow Read/Write 告警 | 优化网络与磁盘、降低并发、检查坏盘;必要时调整超时与重试参数 |
| 集群处于安全模式且无法写入 | 执行 hdfs dfsadmin -safemode get | 数据一致后 hdfs dfsadmin -safemode leave;若因块不足,先恢复副本或扩容 |
| 块丢失/副本不足 | hdfs fsck / 查看 Under-replicated / Corrupt | 恢复副本数、迁移/删除坏块;必要时从备份恢复 |
| 权限拒绝 | 检查 HDFS 目录权限 与运行用户 | 用 chown/chmod 修正,或以具备权限的用户执行 |
| 节点间无法通信 | ping/traceroute、firewall-cmd --list-all | 放行相关端口(如 50010/tcp),修正网络策略与路由 |
| NameNode 或 DataNode 进程不在 | jps / systemctl status | 查日志定位根因,重启服务并持续观察 |
五 性能与稳定性优化建议