在 CentOS 上修改 HDFS 端口,本质上是修改 Hadoop 的配置文件,然后重启相关服务。下面是常见端口及修改步骤(适用于 Hadoop 2.x / 3.x,Hadoop 3 端口有变化)。
| 端口 | 作用 | 默认端口 |
|---|---|---|
| NameNode RPC | HDFS 客户端访问 | 9000 / 8020 |
| NameNode HTTP UI | Web 页面 | 9870(Hadoop 3) 50070(Hadoop 2) |
| SecondaryNameNode HTTP | 辅助 NameNode | 9868 / 50090 |
| DataNode | 数据传输 | 9866 / 50010 |
cd $HADOOP_HOME/etc/hadoop
或
cd /etc/hadoop/conf
hdfs-site.xmlvim hdfs-site.xml
<property>
<name>dfs.namenode.rpc-address</name>
<value>namenode:9000</value>
</property>
<property>
<name>dfs.namenode.http-address</name>
<value>namenode:9870</value>
</property>
⚠️ 如果是 Hadoop 2.x,默认是
50070
core-site.xml(非常重要)vim core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://namenode:9000</value>
</property>
❗ 核心点:
fs.defaultFS和dfs.namenode.rpc-address必须一致
scp hdfs-site.xml core-site.xml slave1:/opt/hadoop/etc/hadoop/
scp hdfs-site.xml core-site.xml slave2:/opt/hadoop/etc/hadoop/
$HADOOP_HOME/sbin/stop-dfs.sh
$HADOOP_HOME/sbin/start-dfs.sh
netstat -tunlp | grep 9000
或
ss -lntp | grep java
http://namenode:9870
hdfs dfs -ls /
firewall-cmd --add-port=9000/tcp --permanent
firewall-cmd --add-port=9870/tcp --permanent
firewall-cmd --reload
| 服务 | Hadoop 2 | Hadoop 3 |
|---|---|---|
| NameNode RPC | 8020 | 8020 |
| NameNode HTTP | 50070 | 9870 |
| DataNode | 50010 | 9866 |
| SecondaryNameNode | 50090 | 9868 |
✅ 检查:
fs.defaultFS 是否正确✅ 检查:
/etc/hosts如果你愿意,可以告诉我:
我可以给你 精确配置示例。