在實驗時想進入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
?訪問。