在实验时想进入9870端口查看safe状态
但是输入localhost:9870后显示:
首先使用jps确认hadoop状态:
从 jps
的输出来看,Hadoop 的核心服务(NameNode、DataNode、ResourceManager、NodeManager 等)都已经正常运行,理论上 Web UI 应该可以访问。
防火墙/安全组阻止访问
-
即使服务运行正常,防火墙仍可能阻止外部访问。
# 检查防火墙状态(CentOS/RHEL)
sudo firewall-cmd --list-ports# 如果没有放行端口,执行:
sudo firewall-cmd --zone=public --add-port=9870/tcp --permanent
sudo firewall-cmd --reload
防火墙未运行(FirewallD is not running)
防火墙(firewalld
)当前没有运行,这意味着 端口访问不受防火墙限制,可以排除防火墙导致的问题。
1. 检查 Hadoop Web UI 端口是否正确
Hadoop 2.x 和 Hadoop 3.x 的默认端口不同:
-
Hadoop 2.x:
50070
(HTTP) -
Hadoop 3.x:
9870
(HTTP)
检查当前 Hadoop 版本:
hadoop version
Hadoop 版本是 Hadoop 3.0.0-cdh6.2.0,在 CDH 6.2.0 中,NameNode Web UI 的默认端口是 9870(Hadoop 3.x 标准),但 Cloudera 发行版(CDH)有时会修改默认配置,所以需要进一步检查。
1. 确认 NameNode Web UI 端口
运行以下命令检查 hdfs-site.xml
中的 HTTP 端口配置:
grep -A 1 "dfs.namenode.http-address" /etc/hadoop/conf/hdfs-site.xml
-
如果输出类似:
<property>
<name>dfs.namenode.http-address</name>
<value>0.0.0.0:9870</value>
</property>说明默认端口是
9870
,访问:
从hdfs-site.xml
配置来看,NameNode 的 HTTP 服务绑定到了 master:9870
,这意味着:
问题原因
不能使用 localhost:9870
访问
因为配置的是 master:9870
,必须使用 http://master:9870
访问。