可以的,CentOS 上部署的 HDFS 完全支持修改端口,而且这是很常见的操作。HDFS 的端口主要来自 Hadoop 配置文件,和你用的操作系统(CentOS / RHEL / Ubuntu)关系不大。
下面我按常见端口 + 修改方式 + 注意事项给你说明。
| 组件 | 配置项 | 默认端口 |
|---|---|---|
| HDFS NameNode RPC | dfs.namenode.rpc-address |
9000 / 8020 |
| HDFS NameNode HTTP UI | dfs.namenode.http-address |
9870 |
| HDFS SecondaryNameNode HTTP | dfs.namenode.secondary.http-address |
9868 |
| DataNode IPC | dfs.datanode.ipc.address |
9867 |
| DataNode HTTP | dfs.datanode.http.address |
9864 |
| DataNode Data | dfs.datanode.address |
9866 |
✅ Hadoop 3.x 默认端口
⚠️ Hadoop 2.x 端口不同(如 50070、50010 等)
hdfs-site.xml路径一般是:
$HADOOP_HOME/etc/hadoop/hdfs-site.xml
<property>
<name>dfs.namenode.rpc-address</name>
<value>namenode:9005</value>
</property>
<property>
<name>dfs.namenode.http-address</name>
<value>namenode:9080</value>
</property>
<property>
<name>dfs.datanode.address</name>
<value>0.0.0.0:9869</value>
</property>
<property>
<name>dfs.datanode.http.address</name>
<value>0.0.0.0:9871</value>
</property>
core-site.xml(如果使用 9000)如果原来用的是:
fs.defaultFS = hdfs://localhost:9000
改成你自定义的端口:
<property>
<name>fs.defaultFS</name>
<value>hdfs://namenode:9005</value>
</property>
所有节点都要同步修改
scp hdfs-site.xml core-site.xml slave1:/path/hadoop/etc/hadoop/
stop-dfs.sh
start-dfs.sh
netstat -tunlp | grep 9005
# 或
ss -tunlp | grep 9005
firewall-cmd --add-port=9005/tcp --permanent
firewall-cmd --reload
setenforce 0
或永久:
vi /etc/selinux/config
SELINUX=disabled
✅ 可以改
✅ 改的是 Hadoop 配置,不是 CentOS 限制
✅ 端口冲突、权限、防火墙是常见问题
你可以直接告诉我:
我可以给你一份完全可用的配置示例。