“CentOS 上连不上 HDFS”是一个比较常见但原因很多的问题。下面我按最常见原因 → 排查思路给你一个清单,你可以一条条对照。
HDFS 常用端口:
8020 / 90009870(Hadoop 3)或 50070(Hadoop 2)50010 等检查:
systemctl status firewalld
临时关闭测试:
systemctl stop firewalld
端口测试:
telnet namenode_ip 8020
# 或
nc -zv namenode_ip 8020
✅ 如果连不上,基本就是网络或防火墙问题。
HDFS 严重依赖 hostname
NameNode 和客户端都要能解析彼此 hostname
cat /etc/hosts
示例:
192.168.1.10 namenode
192.168.1.11 datanode1
测试:
ping namenode
hostname
⚠️ 不能只写 localhost
jps
应有:
没起来:
start-dfs.sh
看日志:
$HADOOP_HOME/logs/
core-site.xml:
<property>
<name>fs.defaultFS</name>
<value>hdfs://namenode:8020</value>
</property>
常见错误:
测试:
hdfs dfs -ls /
HDFS 默认用户是 hdfs
whoami
可指定:
export HADOOP_USER_NAME=hdfs
getenforce
临时关闭:
setenforce 0
| 报错 | 原因 |
|---|---|
| Connection refused | 服务没起 / 端口不通 |
| UnknownHostException | hosts 错了 |
| Retrying connect | NameNode 没起 |
| Permission denied | 用户不对 |
jps
systemctl status firewalld
ping namenode
telnet namenode 8020
hdfs dfs -ls /
如果你愿意,可以把下面信息发我,我可以直接帮你定位:
core-site.xml / hdfs-site.xmljps 输出我可以一步一步帮你排。