Linux下HDFS调试的实用流程
一 快速定位进程与连通性
二 日志与配置核对
三 文件系统与数据块诊断
四 常见故障速查表
| 症状 | 快速检查 | 处理要点 |
|---|---|---|
| DataNode反复退服 | hdfs dfsadmin -report、磁盘空间、日志 | 释放磁盘、修复坏盘、核对dfs.datanode.data.dir与dfs.datanode.failed.volumes.tolerated;必要时重启DataNode |
| 写入报“Failed to place enough replicas” | 可用节点数、磁盘、副本因子 | 降低dfs.replication、扩容节点/磁盘、排除坏盘、恢复异常节点 |
| NameNode启动失败/EditLog不连续 | NameNode日志、JournalNode状态 | 按HA流程恢复JournalNode一致性,必要时从Standby或Checkpoint恢复 |
| 容量100%导致上层不可用 | hdfs dfs -df -h、各目录占用 | 清理无用数据/回收站、扩容、临时调低保留策略 |
| 客户端报“No common protection layer” | 客户端与服务端加密/认证配置 | 统一hadoop.rpc.protection等安全参数,确保两端一致 |
| 公网/跨域访问失败 | 网络ACL、端口、绑定地址 | 开放必要端口(如8020、50070/9870)、避免bind到127.0.0.1、检查安全组/防火墙 |
| distcp报错“Source and target differ in block-size” | 源/目标dfs.blocksize | 统一块大小或显式指定**-D dfs.blocksize=…** |
五 高效调试建议