Yarn Web頁面 8088 埠在Windows瀏覽器無法訪問
問題描述
配置好Hadoop的Namenode節點、secondarynode節點和datanode節點之後,配置hadoop /etc目錄下的mapred-site.xml、yarn-site.xml檔案,配置完成之後,啟動resourcemanager、nodemanager。其中,yarn-site.xml配置如下:
<property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.hostname</name> <value>localhost.localdomain</value> </property>
jps檢視可以看到都啟動成功。但是windows下輸入下面的訪問地址,提示訪問超時頁面找不到。
http://192.168.175.123:8088
其中192.168.175.123為虛擬機器地址,8088為yarn管理頁面的預設埠
問題解決
0. 檢視8088埠是否開啟。如下,可以看到8088埠已經開啟
檢視某個埠程序的命令:lsof -i:埠號,可以用來檢視8088埠是否為JAVA開啟。
[[email protected] hadoop-2.8.5]$ lsof -i:8088 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME java 3303 hadoop 234u IPv6 45723 0t0 TCP hadoop.fang.com:radan-http (LISTEN)
1、Windows瀏覽器訪問提示連線超時。問題出在需要關閉虛擬機器的防火牆。不同版本的linux關閉方法不同。Centos 7 關閉方法如下:設定成永久關閉即可。此時在windows瀏覽器訪問提示connection refused,而不再是連線超時。
- 臨時關閉防火牆
systemctl stop firewalld
- 永久防火牆開機自關閉
systemctl disable firewalld
- 臨時開啟防火牆
systemctl start firewalld
- 防火牆開機啟動
systemctl enable firewalld
- 檢視防火牆狀態
systemctl status firewalld
2.netstat -nltp檢視埠啟用情況,如下圖,可以看到8088埠(yarn介面)和50070埠(hadoop介面)都是掛載127.0.0.1的ip下面。因此,只能夠本機訪問此埠。所以問題就出在這裡。需要將埠掛載虛擬機器ip下面才可以。首先修改yarn-site.xml的hostname引數配置,修改成自己的一個域名,或者直接寫成虛擬機器IP。我的配置成了hadoop.fang.com.如果配置成域名的話,就需要在/etc/hosts加上域名解析。操作如下
[[email protected] hadoop]# netstat -nltp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:35115 0.0.0.0:* LISTEN 9344/java
tcp 0 0 0.0.0.0:9868 0.0.0.0:* LISTEN 8816/java
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd
tcp 0 0 127.0.0.1:8020 0.0.0.0:* LISTEN 8467/java
tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 1203/dnsmasq
tcp 0 0 127.0.0.1:50070 0.0.0.0:* LISTEN 8467/java
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 972/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 971/cupsd
tcp 0 0 127.0.0.1:8088 0.0.0.0:* LISTEN 9048/java
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1086/master
tcp 0 0 0.0.0.0:13562 0.0.0.0:* LISTEN 9344/java
tcp 0 0 127.0.0.1:8030 0.0.0.0:* LISTEN 9048/java
tcp 0 0 127.0.0.1:8031 0.0.0.0:* LISTEN 9048/java
tcp 0 0 127.0.0.1:8032 0.0.0.0:* LISTEN 9048/java
tcp 0 0 127.0.0.1:8033 0.0.0.0:* LISTEN 9048/java
tcp 0 0 0.0.0.0:8040 0.0.0.0:* LISTEN 9344/java
tcp 0 0 0.0.0.0:8042 0.0.0.0:* LISTEN 9344/java
tcp6 0 0 :::111 :::* LISTEN 1/systemd
tcp6 0 0 :::22 :::* LISTEN 972/sshd
tcp6 0 0 ::1:631 :::* LISTEN 971/cupsd
tcp6 0 0 ::1:25 :::* LISTEN 1086/master
注:netstat命令用來列印Linux中網路系統的狀態資訊,可讓你得知整個Linux系統的網路情況。
-n或--numeric:直接使用ip地址,而不通過域名伺服器;
-l或--listening:顯示監控中的伺服器的Socket;
-t或--tcp:顯示TCP傳輸協議的連線狀況;
-p或--programs:顯示正在使用Socket的程式識別碼和程式名稱;
yarn-site.xml配置如下:
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop.fang.com</value>
</property>
</configuration>
/etc/hosts配置如下。一定將域名配置成虛擬機器本IP地址才可以。
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.175.123 hadoop.fang.com
注:命令 curl -I http地址 :可以在虛擬機器內部檢視某個http連線返回的http頭資訊。
[[email protected] hadoop-2.8.5]$ curl -I http://192.168.175.123:50070
HTTP/1.1 200 OK
Cache-Control: no-cache
Expires: Thu, 27 Sep 2018 05:49:48 GMT
Date: Thu, 27 Sep 2018 05:49:48 GMT
Pragma: no-cache
Expires: Thu, 27 Sep 2018 05:49:48 GMT
Date: Thu, 27 Sep 2018 05:49:48 GMT
Pragma: no-cache
Content-Type: text/html; charset=utf-8
X-FRAME-OPTIONS: SAMEORIGIN
Expires: Thu, 27 Sep 2018 05:49:48 GMT
Date: Thu, 27 Sep 2018 05:49:48 GMT
Pragma: no-cache
Expires: Thu, 27 Sep 2018 05:49:48 GMT
Date: Thu, 27 Sep 2018 05:49:48 GMT
Pragma: no-cache
X-FRAME-OPTIONS: SAMEORIGIN
Last-Modified: Mon, 10 Sep 2018 03:58:15 GMT
Content-Length: 1079
Accept-Ranges: bytes