HDFS在Ubuntu上的故障排查步骤
一 快速定位与基础检查
二 常见故障与修复对照表
| 症状 | 快速检查 | 修复建议 |
|---|---|---|
| 启动后没有NameNode | jps无NameNode;查看**$HADOOP_HOME/logs/namenode-*.log** | 核对hadoop-env.sh、core-site.xml、hdfs-site.xml;确认JAVA_HOME;首次启动需执行hdfs namenode -format(注意会清空元数据);用start-dfs.sh启动;检查**/etc/hosts主机名映射与端口(如9000**)可达 |
| Connection refused/无法连接 | 本机/跨机telnet |
确认NameNode已启动;核对core-site.xml的fs.defaultFS是否为hdfs:// |
| Incompatible namespaceIDs | DataNode日志含“Incompatible namespaceIDs” | 清理DataNode数据目录(如dfs.datanode.data.dir),或对齐namespaceID后重启;若已格式化NameNode,需同步清理并重起集群 |
| DataNode启动即退出/All directories in dfs.data.dir are invalid | DataNode日志提示目录无效或权限错误 | 确认dfs.datanode.data.dir路径存在且权限正确(常见要求rwxr-xr-x);必要时chown/chmod修正后重启 |
| NameNode处于安全模式 | 创建/删除文件时报“Name node is in safe mode” | 等待自动退出或执行hdfs dfsadmin -safemode leave;若长期不退出,检查副本数与DataNode数量是否满足策略 |
| 格式化失败“Cannot remove current directory” | 执行hdfs namenode -format时报错 | 停止集群(如stop-dfs.sh);手动清理dfs.namenode.name.dir/current或对应临时目录;确认目录可写且非只读文件系统;再格式化并启动 |
三 配置与端口核对清单
四 数据一致性与空间问题处理
五 最小化验证与回退步骤