HDFS在Ubuntu上的系统化故障排查指南
一 快速定位流程
二 常见故障与修复对照表
| 症状 | 快速检查 | 修复建议 |
|---|---|---|
| NameNode未启动/反复退出 | jps无NameNode;查看namenode.log | 核对core-site.xml: fs.defaultFS、hdfs-site.xml: dfs.namenode.rpc-address/dfs.namenode.name.dir;确认JAVA_HOME;首次部署需执行hdfs namenode -format(会清空元数据,谨慎!);检查目录权限与磁盘空间 |
| DataNode未注册/全部掉线 | hdfs dfsadmin -report显示0个DataNode | 核对dfs.datanode.data.dir与权限;检查NameNode RPC连通性(8020)与防火墙;排查DataNode日志中的反序列化/磁盘错误;必要时重启DataNode |
| 集群只读或启动卡在安全模式 | hdfs dfsadmin -safemode get为ON | 若为启动阶段可等待块上报完成;紧急恢复可hdfs dfsadmin -safemode leave;若因Under-replicated/Missing blocks导致,先扩容或修复副本,再退出安全模式 |
| 块损坏或副本不足 | hdfs fsck显示Corrupt/Missing/Under-replicated | 先定位问题文件并评估业务影响;通过增加副本数、从备份恢复、或删除损坏文件后重传;对关键数据执行定期fsck巡检 |
| 权限被拒绝 Permission denied | 操作报user=root, access=WRITE, inode=“/”:hadoop:supergroup | HDFS的超级用户是启动NameNode的用户(非Linux root);用该用户执行或调整HDFS权限:hdfs dfs -chown/-chmod;避免直接用root进行HDFS写操作 |
| 端口不通/访问异常 | telnet/nc到8020/50070/50010失败 | 开放对应端口(或临时关闭防火墙测试);核对dfs.namenode.rpc-address、dfs.http.address等配置;云环境需放行安全组规则 |
三 关键配置与端口核对
四 实用命令清单
五 排障注意事项