温馨提示×

centos为啥hdfs连不上

小樊
62
2026-09-09 10:44:49
栏目: 智能运维

“CentOS 上连不上 HDFS”是一个比较常见但原因很多的问题。下面我按最常见原因 → 排查思路给你一个清单,你可以一条条对照。


一、网络/防火墙问题(最常见)

1️⃣ 防火墙没关或端口不通

HDFS 常用端口:

  • NameNode RPC:8020 / 9000
  • Web UI:9870(Hadoop 3)或 50070(Hadoop 2)
  • DataNode:50010 等

检查:

systemctl status firewalld

临时关闭测试:

systemctl stop firewalld

端口测试:

telnet namenode_ip 8020
# 或
nc -zv namenode_ip 8020

✅ 如果连不上,基本就是网络或防火墙问题。


二、Hosts / 主机名解析问题(非常常见)

HDFS 严重依赖 hostname

2️⃣ /etc/hosts 配置不对

NameNode 和客户端都要能解析彼此 hostname

cat /etc/hosts

示例:

192.168.1.10 namenode
192.168.1.11 datanode1

测试:

ping namenode
hostname

⚠️ 不能只写 localhost


三、HDFS 服务本身没起来

3️⃣ NameNode / DataNode 没启动

jps

应有:

  • NameNode
  • DataNode
  • ResourceManager(YARN)

没起来:

start-dfs.sh

看日志:

$HADOOP_HOME/logs/

四、配置问题(core-site / hdfs-site)

4️⃣ fs.defaultFS 配错

core-site.xml:

<property>
  <name>fs.defaultFS</name>
  <value>hdfs://namenode:8020</value>
</property>

常见错误:

  • 写成了 IP 但 hostname 不通
  • 端口写错

测试:

hdfs dfs -ls /

五、权限 / 用户问题

5️⃣ 用户不对

HDFS 默认用户是 hdfs

whoami

可指定:

export HADOOP_USER_NAME=hdfs

六、SELinux(CentOS 特有)

6️⃣ SELinux 拦截

getenforce

临时关闭:

setenforce 0

七、常见报错 & 含义

报错 原因
Connection refused 服务没起 / 端口不通
UnknownHostException hosts 错了
Retrying connect NameNode 没起
Permission denied 用户不对

八、快速自查命令(建议按顺序)

jps
systemctl status firewalld
ping namenode
telnet namenode 8020
hdfs dfs -ls /

如果你愿意,可以把下面信息发我,我可以直接帮你定位:

  1. CentOS 版本
  2. Hadoop 版本
  3. 报错完整信息
  4. core-site.xml / hdfs-site.xml
  5. jps 输出

我可以一步一步帮你排。

0 踩