在 CentOS 上配置 HDFS 端口,本质就是修改 Hadoop 的配置文件(主要是 hdfs-site.xml 和 core-site.xml),然后重启相关服务。下面按步骤说明。
默认端口(Hadoop 3.x 为例):
| 作用 | 配置项 | 默认端口 |
|---|---|---|
| NameNode RPC | fs.defaultFS |
8020 |
| NameNode Web UI | dfs.namenode.http-address |
9870 |
| SecondaryNameNode | dfs.namenode.secondary.http-address |
9868 |
| DataNode | dfs.datanode.address |
9866 |
| DataNode Web UI | dfs.datanode.http.address |
9864 |
假设 Hadoop 安装在 /opt/hadoop
core-site.xmlvi $HADOOP_HOME/etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
这里把 NameNode RPC 端口改为
9000
hdfs-site.xmlvi $HADOOP_HOME/etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.http-address</name>
<value>0.0.0.0:50070</value>
</property>
<property>
<name>dfs.datanode.address</name>
<value>0.0.0.0:50010</value>
</property>
<property>
<name>dfs.datanode.http.address</name>
<value>0.0.0.0:50075</value>
</property>
</configuration>
CentOS 7+ 使用 firewalld
firewall-cmd --permanent --add-port=9000/tcp
firewall-cmd --permanent --add-port=50070/tcp
firewall-cmd --permanent --add-port=50010/tcp
firewall-cmd --permanent --add-port=50075/tcp
firewall-cmd --reload
如果是测试环境,也可以直接关闭防火墙(不推荐生产):
systemctl stop firewalld
systemctl disable firewalld
如果访问异常,可临时关闭:
setenforce 0
永久关闭:
vi /etc/selinux/config
SELINUX=disabled
stop-dfs.sh
start-dfs.sh
查看端口监听:
netstat -tunlp | grep java
# 或
ss -tunlp | grep 9000
浏览器访问:
http://<centos_ip>:50070
命令行:
hdfs dfs -ls /
如果你用的是 Hadoop 2.x / 3.x、单节点 / 集群,或者 CDH / HDP,可以告诉我,我可以给你更精确的配置示例。