在 CentOS 上部署 HDFS(Hadoop 分布式文件系统) 时,端口主要通过 Hadoop 配置文件 来设置,而不是在 CentOS 系统层面直接设置。下面按常见方式给你说明。
| 组件 | 默认端口 | 说明 |
|---|---|---|
| NameNode | 9000 / 8020 | HDFS 客户端访问端口 |
| NameNode HTTP | 9870 | Web UI(Hadoop 3.x) |
| SecondaryNameNode | 9868 | HTTP 端口 |
| DataNode | 9864 | 数据传输端口 |
| DataNode HTTP | 9866 | Web UI |
Hadoop 2.x 默认 NameNode 端口是
9000或8020
Hadoop 3.x 默认是8020和9870
core-site.xmlvi $HADOOP_HOME/etc/hadoop/core-site.xml
示例(修改 NameNode 端口为 9000):
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
✅ 客户端连接 HDFS 的端口就是这里配置的
hdfs-site.xmlvi $HADOOP_HOME/etc/hadoop/hdfs-site.xml
<property>
<name>dfs.namenode.http-address</name>
<value>0.0.0.0:9870</value>
</property>
<property>
<name>dfs.datanode.address</name>
<value>0.0.0.0:9864</value>
</property>
<property>
<name>dfs.datanode.http.address</name>
<value>0.0.0.0:9866</value>
</property>
CentOS 7+/8 使用 firewalld
# 开放端口
firewall-cmd --zone=public --add-port=9000/tcp --permanent
firewall-cmd --zone=public --add-port=9870/tcp --permanent
firewall-cmd --zone=public --add-port=9864/tcp --permanent
firewall-cmd --zone=public --add-port=9866/tcp --permanent
# 重新加载
firewall-cmd --reload
查看已开放端口:
firewall-cmd --list-ports
临时关闭(测试用):
setenforce 0
永久关闭(生产不推荐):
vi /etc/selinux/config
SELINUX=disabled
netstat -tunlp | grep java
# 或
ss -tunlp | grep 9870
浏览器访问:
http://<IP>:9870
✅ 修改端口后 必须重启 HDFS
stop-dfs.sh
start-dfs.sh
✅ 集群环境 所有节点配置必须一致
✅ 云服务器还要在 安全组 放行端口
如果你能告诉我:
我可以给你 精确配置示例。