温馨提示×

centos怎样测试hdfs连通

小樊
42
2026-09-03 08:51:54
栏目: 智能运维

在 CentOS 上测试 HDFS 连通性,可以从网络层、服务层、客户端层逐步排查。下面按常用场景给你一套完整方法。


一、基础网络连通测试(最优先)

1. 测试 NameNode 端口是否通

HDFS 默认端口(常见):

  • NameNode RPC: 80209000
  • NameNode Web UI: 9870(Hadoop 3.x) / 50070(Hadoop 2.x)
# 测试 RPC 端口
telnet namenode-host 8020

# 或
nc -zv namenode-host 8020

# 测试 Web 端口
curl -I http://namenode-host:9870

✅ 通则说明网络和防火墙没问题
❌ 不通检查:防火墙、安全组、hosts 配置


二、使用 Hadoop 客户端测试(最准确)

2. 使用 hdfs dfs 命令

确保已安装 Hadoop 客户端并配置 HADOOP_HOME

hdfs dfs -ls /

或指定 NameNode:

hdfs dfs -ls hdfs://namenode-host:8020/

常见结果:

  • 成功列出目录 ✅
  • Connection refused → 服务未起或端口错
  • No route to host → 网络问题
  • UnknownHost → hosts 或 DNS 问题

三、使用 Hadoop 自带工具

3. hadoop checknative(可选)

检查原生库(非必须,但排查有用)

hadoop checknative

四、Java 层连通测试(开发常用)

4. 简单 Java 测试 HDFS

Configuration conf = new Configuration();
conf.set("fs.defaultFS", "hdfs://namenode-host:8020");
FileSystem fs = FileSystem.get(conf);
System.out.println(fs.exists(new Path("/")));

五、Kerberos 环境(安全集群)

如果是 HA / Kerberos

kinit user@REALM
hdfs dfs -ls /

六、常见排错清单(CentOS)

/etc/hosts 是否正确
✅ 防火墙是否放行

systemctl status firewalld

✅ SELinux 是否影响(测试可临时关闭)

setenforce 0

✅ Hadoop 配置文件是否同步

  • core-site.xml
  • hdfs-site.xml

七、快速判断总结

现象 可能原因
telnet 不通 网络/防火墙
telnet 通但 hdfs 命令失败 配置错误
Web 能开但命令失败 权限/Kerberos
报 UnknownHost hosts/DNS

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

  • Hadoop 版本(2.x / 3.x)
  • 是否 HA / Kerberos
  • 报错完整信息

我可以帮你精准定位。

0