温馨提示×

如何排查linux hadoop故障

小樊
45
2026-09-13 15:55:42
栏目: 智能运维

排查 Linux 上 Hadoop 故障通常要分层进行:先确认系统/网络,再确认 Hadoop 服务与日志,最后定位具体组件(HDFS / YARN / MapReduce)。下面给你一套实用排查思路 + 常用命令


一、先确认基础环境(最常见问题)

1. 主机与网络

hostname
hostname -f
cat /etc/hosts

✅ 检查:

  • 主机名能解析
  • /etc/hosts 中 IP 与 hostname 对应正确
  • 各节点之间能互通

测试网络:

ping namenode
ssh datanode1

2. 时间同步(非常关键)

Hadoop 对时间敏感:

date

建议:

ntpdate ntp.aliyun.com
# 或
systemctl status chronyd

3. 用户与权限

whoami
id

✅ Hadoop 用户(如 hadoop)是否一致
✅ 数据目录权限是否正确


二、检查 Hadoop 进程

1. 查看进程

jps

典型进程:

  • NameNode
  • DataNode
  • ResourceManager
  • NodeManager
  • SecondaryNameNode

❌ 少了某个进程 → 对应服务未启动或已挂


2. 启动/停止服务

start-dfs.sh
start-yarn.sh

stop-dfs.sh
stop-yarn.sh

单节点调试:

hadoop-daemon.sh start datanode
yarn-daemon.sh start nodemanager

三、看日志(最重要的一步)

1. 日志位置

$HADOOP_HOME/logs/

常见文件:

  • hadoop-*-namenode-*.log
  • hadoop-*-datanode-*.log
  • yarn-*-resourcemanager-*.log
  • yarn-*-nodemanager-*.log

2. 实时看错误

tail -f $HADOOP_HOME/logs/hadoop-*-datanode-*.log

常见关键词:

  • Exception
  • ERROR
  • Connection refused
  • Permission denied
  • Space available

四、HDFS 故障排查

1. 检查 HDFS 状态

hdfs dfsadmin -report

看:

  • Live datanodes 数量
  • 容量是否正常
  • 是否有 Dead Nodes

2. 文件系统检查

hdfs fsck /

常见输出:

  • CORRUPT
  • UNDER_REPLICATED
  • MISSING

修复:

hdfs fsck / -delete

3. NameNode 无法启动

常见原因:

  • dfs.namenode.name.dir 权限不对
  • 元数据损坏

查看:

cat $HADOOP_HOME/logs/hadoop-*-namenode-*.log

格式化(⚠️会清数据):

hdfs namenode -format

五、YARN / 任务失败排查

1. 查看任务状态

yarn application -list
yarn application -status application_xxx

2. 看失败原因

yarn logs -applicationId application_xxx

常见错误:

  • 内存不足
  • 容器被 kill
  • 依赖缺失

3. NodeManager 异常

检查:

yarn node -list

看:

  • UNHEALTHY 节点
  • 磁盘空间

六、系统资源问题

1. 磁盘

df -h

Hadoop 对磁盘满非常敏感


2. 内存

free -h
top

3. 文件句柄

ulimit -a

建议:

ulimit -n 65536

七、常见故障速查表

现象 可能原因
DataNode 起不来 集群ID不一致
NameNode 无法启动 元数据损坏
任务一直 ACCEPTED ResourceManager 问题
节点 UNHEALTHY 磁盘满
SSH 失败 免密未配置
端口拒绝 防火墙

八、防火墙 & SELinux(常被忽略)

systemctl stop firewalld
setenforce 0

如果你愿意,可以告诉我:

  • Hadoop 版本(2.x / 3.x)
  • 单机 / 伪分布 / 集群
  • 具体报错日志

我可以直接帮你精准定位问题

0