温馨提示×

centos hdfs报错怎么查

小樊
41
2026-10-03 11:25:44
栏目: 智能运维

在 CentOS 上排查 HDFS 报错,一般按 “看日志 → 看进程 → 看配置 → 看端口/权限” 的顺序来。下面给你一套实用排查思路。


一、先看 HDFS 服务状态

jps

正常应看到:

  • NameNode
  • DataNode
  • SecondaryNameNode(非 HA)
  • ResourceManager / NodeManager(YARN,可选)

少了哪个,就重点查哪个。


二、查看 HDFS 日志(最重要)

HDFS 日志默认在:

$HADOOP_HOME/logs/

或

/var/log/hadoop/

常见日志文件

hadoop-root-namenode-*.log
hadoop-root-datanode-*.log

实时查看:

tail -f $HADOOP_HOME/logs/hadoop-root-namenode-*.log

常见错误关键词

  • java.io.IOException
  • Connection refused
  • Permission denied
  • Disk error
  • Incompatible namespaceID
  • Block missing

三、用 HDFS 自带命令排查

hdfs dfsadmin -report

看 DataNode 是否注册。

hdfs fsck /

检查文件系统健康状态。

hdfs haadmin -getServiceState nn1

(如果是 HA 模式)


四、检查核心配置文件

重点看:

$HADOOP_HOME/etc/hadoop/
  • core-site.xml
  • hdfs-site.xml
  • workers / slaves

常见错误:

  • fs.defaultFS 写错
  • NameNode / DataNode 目录不存在
  • 多台机器 clusterID 不一致

五、检查目录和权限

NameNode 目录

ls -l /data/hadoop/dfs/name

DataNode 目录

ls -l /data/hadoop/dfs/data

权限问题:

chown -R hadoop:hadoop /data/hadoop

六、检查端口和防火墙(CentOS 常见坑)

查看端口

netstat -tunlp | grep java

或

ss -tunlp | grep 9000

关闭防火墙(测试环境)

systemctl stop firewalld
systemctl disable firewalld

SELinux(常坑)

getenforce

如果是 Enforcing:

setenforce 0

永久关闭:

vi /etc/selinux/config
SELINUX=disabled

七、常见典型错误速查

1️⃣ DataNode 启动后自动退出

原因:

  • clusterID 不一致

解决:

cat /data/hadoop/dfs/name/current/VERSION
cat /data/hadoop/dfs/data/current/VERSION

不一致就删 DataNode 数据目录重新格式化(⚠️会丢数据)


2️⃣ Permission denied

chown -R hadoop:hadoop $HADOOP_HOME

3️⃣ Connection refused

  • NameNode 没起
  • 防火墙
  • IP / hostname 配置错误

八、如果你愿意,我可以更精准帮你

你可以直接贴:

  • 报错日志(关键几行)
  • jps 输出
  • hdfs dfsadmin -report
  • 单机还是集群 / 是否 HA

我可以帮你一行一行看 ✅

0 踩