温馨提示×

centos怎样排查hdfs故障

小樊
48
2026-09-27 14:25:16
栏目: 智能运维

在 CentOS 上排查 HDFS(Hadoop 分布式文件系统)故障,通常可以按「系统层 → Hadoop 服务层 → HDFS 组件层 → 日志与命令层」逐步排查。下面给你一套实用排查思路。


一、基础环境与系统层排查

1. 检查主机基本状态

uptime
free -h
df -h
top

重点关注:

  • 磁盘是否满(No space left on device)
  • 内存是否耗尽
  • CPU 是否异常

2. 检查网络

ping namenode
hostname -f
cat /etc/hosts

常见故障:

  • /etc/hosts 配置错误
  • 防火墙阻断端口(9000 / 8020 / 50070)

3. 防火墙与 SELinux

systemctl status firewalld
getenforce

建议测试时临时关闭:

systemctl stop firewalld
setenforce 0

二、Hadoop 服务状态排查

1. 查看 Hadoop 进程

jps

正常应有:

  • NameNode
  • DataNode
  • SecondaryNameNode(或 JournalNode / ZKFC,视架构)

若缺失:

hadoop-daemon.sh start namenode
hadoop-daemon.sh start datanode

三、HDFS 核心命令排查

1. 检查 HDFS 整体状态

hdfs dfsadmin -report

关注:

  • Live datanodes 数量
  • 容量、剩余空间
  • 是否有 Dead datanodes

2. 检查安全模式

hdfs dfsadmin -safemode get

若在安全模式:

hdfs dfsadmin -safemode leave

3. 检查文件系统健康

hdfs fsck / -files -blocks -locations

常见问题:

  • 缺失块(MISSING)
  • 副本不足(Under-replicated)

四、日志排查(最关键)

1. 日志位置(默认)

$HADOOP_HOME/logs/

关键日志:

  • hadoop-*-namenode-*.log
  • hadoop-*-datanode-*.log

2. 实时查看日志

tail -f $HADOOP_HOME/logs/hadoop-root-datanode-centos.log

常见错误:

  • Incompatible clusterIDs
  • Disk failed
  • Connection refused

五、NameNode / DataNode 常见故障

1. DataNode 未启动

可能原因:

  • clusterID 不一致 解决:
# 删除 DataNode 数据目录(谨慎)
rm -rf /dfs/data/*

2. NameNode 无法启动

hdfs namenode -format

⚠️ 会清空元数据,仅限新集群或确认可恢复时


六、Web UI 辅助排查

  • NameNode UI:http://namenode:50070
  • 查看:
    • DataNode 列表
    • 块状态
    • 异常节点

七、快速排查 checklist(实战)

✅ jps 是否齐全
✅ df -h 磁盘是否满
✅ 防火墙 / hosts 是否正确
✅ hdfs dfsadmin -report
✅ hdfs fsck /
✅ 查看 logs 报错


如果你能告诉我:

  • HDFS 版本(CDH / HDP / 原生)
  • 具体报错信息
  • 是 NameNode 还是 DataNode 故障

我可以给你更精准的排查方案。

0 踩