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</value>
        </property>

      jps查看可以看到都启动成功。但是windows下输入下面的访问地址,提示访问超时页面找不到。

http://192.168.175.123:8088

其中192.168.175.123为虚拟机地址,8088为yarn管理页面的默认端口

 问题解决

      0. 查看8088端口是否开启。如下,可以看到8088端口已经开启

          查看某个端口进程的命令:lsof -i:端口号,查看8088端口是否为JAVA程序开启。如果没有显示8088端口消息,说明resourcemanager没有开启成功,查询hadoop程序下的logs/yarn-root-resourcemanager-fang16.hadoop.com.log日志确定启动不起来原因。

          知识补充:lsof的选项:-i<条件> 列出符合指定条件的进程。(4、6、协议、:端口、 @ip ),4代表IPv4,6代表IPv6。

[hadoop@localhost 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下的浏览器再次访问yarn,提示connection refused(服务器拒绝了连接),而不再是连接超时。

  • 临时关闭防火墙
    systemctl stop firewalld
  • 永久防火墙开机自关闭
    systemctl disable firewalld
  • 临时打开防火墙
    systemctl start firewalld
  • 防火墙开机启动
    systemctl enable firewalld
  • 查看防火墙状态
    systemctl status firewalld

 知识补充:查看和修改Linux防火墙存在以下两种方式:

      一、service方式

          查看防火墙状态:[root@centos6 ~]# service iptables status

          开启防火墙:[root@centos6 ~]# service iptables start

          关闭防火墙:[root@centos6 ~]# service iptables stop

      二、iptables方式

         先进入init.d目录,命令如下:[root@centos6 ~]# cd /etc/init.d/,然后

         查看防火墙状态:[root@centos6 init.d]# /etc/init.d/iptables status

        暂时关闭防火墙:[root@centos6 init.d]# /etc/init.d/iptables stop

         重启iptables:[root@centos6 init.d]# /etc/init.d/iptables restart

     2.netstat -nltp查看端口启用情况,如下图,可以看到8088端口(yarn界面)和50070端口(hadoop界面)都是挂载127.0.0.1的ip下面。因此,只能够本机访问此端口。所以问题就出在这里。需要将端口挂载在外界可以访问到的虚拟机ip下面才可以。首先修改yarn-site.xml的hostname参数配置,修改成自己的一个域名,或者直接写成虚拟机IP。我的配置成了hadoop.fang.com.如果配置成域名的话,就需要在/etc/hosts加上域名解析。

     解释:外界可以访问到的虚拟机IP

       在宿主机上ping此虚拟机IP可以ping通,那么就把此IP配置在yarn-site.xml的hostname属性上。比如:如果虚拟机使用的是NAT和Host-Only混合方式联网,那么NAT模式和Host-Only会各自分配一个IP,宿主机ping NAT的ip显然ping不通,但是宿主机pingHost-Only的IP是可以ping通的,那么此时hostname的属性值配置成Host-Only的IP才行。访问时,http://IP:8088。IP为Host-Only的IP。

[root@venn05 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

 3.如果还没有解决,可能是因为虚拟机选择的网络连接方式问题。比如如果虚拟机选择NAT模式,那么本机是没办法ping通虚拟机的。此时需要配置端口映射。比如我使用的VirtualBox虚拟软件。端口映射如下下图所示;如果使用的是NAT和Host-Only混合模式,那么访问时IP:port的IP应该为Host-Only的IP地址,即能够ping通虚拟机的IP地址

虚拟机网络连接方式参考资料:https://blog.csdn.net/qq_22310551/article/details/84988063

ifconfig查看虚拟机ip地址
然后本机cmd命令窗口模式下,ping ip。如果ping不通,那么直接
http://虚拟机ip:8088是不可能访问成功的。
如果是NAT模式,设置端口映射后,http://127.0.0.1:8088即可访问虚拟机8088端口。

 注: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命令是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称curl为下载工具。通过-I或者-head可以只打印出HTTP头部信息:即命令 curl -I http地址 

[hadoop@localhost 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

猜你喜欢

转载自blog.csdn.net/qq_22310551/article/details/82864966