在 CentOS 上修改 HDFS 端口,本质上是修改 Hadoop 的配置文件,然后重启相关服务。下面按常见端口和操作步骤给你说明。
| 服务 | 配置项 | 默认端口 |
|---|---|---|
| NameNode RPC | dfs.namenode.rpc-address |
9000 |
| NameNode HTTP | dfs.namenode.http-address |
9870 |
| SecondaryNameNode HTTP | dfs.namenode.secondary.http-address |
9868 |
| DataNode | dfs.datanode.address |
9866 |
| DataNode HTTP | dfs.datanode.http.address |
9864 |
Hadoop 3.x 默认端口和 2.x 不同(2.x 常用 50070 / 9000)
cd $HADOOP_HOME/etc/hadoop
hdfs-site.xmlvi hdfs-site.xml
示例(修改 NameNode RPC 和 HTTP 端口):
<property>
<name>dfs.namenode.rpc-address</name>
<value>namenode:9001</value>
</property>
<property>
<name>dfs.namenode.http-address</name>
<value>namenode:9871</value>
</property>
如果是伪分布式,
namenode可写localhost
core-site.xml(如改了 RPC 端口)vi core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://namenode:9001</value>
</property>
⚠️ core-site.xml 的端口必须和 hdfs-site.xml 的 rpc-address 一致
<property>
<name>dfs.datanode.address</name>
<value>0.0.0.0:9867</value>
</property>
<property>
<name>dfs.datanode.http.address</name>
<value>0.0.0.0:9865</value>
</property>
firewall-cmd --zone=public --add-port=9001/tcp --permanent
firewall-cmd --zone=public --add-port=9871/tcp --permanent
firewall-cmd --reload
stop-dfs.sh
start-dfs.sh
或单独重启:
hadoop-daemon.sh stop namenode
hadoop-daemon.sh start namenode
netstat -tunlp | grep 9001
或浏览器访问:
http://<ip>:9871
core-site.xml 必须一致dfs.namenode.rpc-address.ns.nn1dfs.namenode.http-address.ns.nn1如果你告诉我:
我可以直接给你完整配置模板。