CentOS 上 HDFS 故障排查指南
一 快速定位流程
二 常见故障与处置要点
| 症状 | 快速检查 | 处置建议 |
|---|---|---|
| NameNode 无法启动 | 日志中是否有 fsimage/edits 异常;磁盘空间是否耗尽;JAVA_HOME 与目录权限 | 从备份恢复 fsimage/edits;释放磁盘空间;校正 JAVA_HOME 与目录属主;必要时再执行 hdfs namenode -format(会清空数据,务必先备份) |
| DataNode 无法连接/反复退服 | dfs.datanode.data.dir 路径与权限;磁盘是否只读/坏盘;网络连通与防火墙 | 修正目录权限与路径;更换/剔除故障盘;开放端口并修复网络;核对 hosts 与 RPC 地址 |
| 集群处于安全模式 | hdfs dfsadmin -safemode get | 数据一致后执行 hdfs dfsadmin -safemode leave 退出 |
| 写入失败 副本不足 | hdfs dfsadmin -report 看 Configured/DFS Used/Remaining;副本数设置 | 增加 dfs.replication 或扩容;清理不必要数据释放空间 |
| 读取失败 FileNotFoundException | 目标路径是否存在;权限是否足够 | 用 hdfs dfs -ls 确认路径;用 chmod/chown 调整权限 |
| 权限被拒绝 Permission denied | 本地/远程用户与 HDFS 权限模型 | 以具备权限的用户执行或调整 HDFS 权限与属主 |
| 容量 100% 上层服务不可用 | hdfs dfsadmin -report;各磁盘使用率 | 清理或迁移数据;扩容;均衡块分布 |
| 时间不同步导致丢块 | 节点间 NTP 是否一致 | 部署 NTP 统一时间,避免大范围时间跳变 |
| 客户端通过公网访问失败 | 公网 IP/端口策略与安全组 | 使用 内网 访问或正确配置 Kerberos/SSL 与端口放通策略 |
三 关键命令与操作清单
四 环境与配置核查清单
五 预防与最佳实践