Hadoop集群50070WebUI访问不了;主机名可以访问,ip访问不了

时间:2023-02-09 13:58:52

最近搭建Hadoop伪集群时 ,HDFS文件系统成功格式化,节点启动了,jps也有显示,但http://IP :50070就是访问不了。

困扰很久发现问题仅仅出现在防火墙没有关闭。。。。。


伪集群搭建采用的是CentOS 7.0,而CentOS7.0默认使用的是firewall作为防火墙,可以改为iptables。

Firewall:

systemctl start firewalld.service#启动firewall

systemctl stop firewalld.service#停止firewall

systemctl disable firewalld.service#禁止firewall开机启动

改成iptables:

systemctl startiptables.service


若操作系统使用的CentOS6.5的话,也需要关闭iptables防火墙

service iptables stop关闭完成,但重启机器就会启动,所以需要用下面命令永久关闭它。

chkconfig iptables off开机就不会启动了。


#############################################

Hadoop启动之后,遇到一个奇怪的问题:

VMware虚拟机中Hadoop服务的端口50070无法访问的问题---通过127.0.0.1:50070、localhost:50070、主机名:50070均可访问,唯独IP:50070不能访问到。

通过查找日志:发现datanode的日志中提示:访问MasterNameNode:8020不能访问。

Hadoop集群50070WebUI访问不了;主机名可以访问,ip访问不了

排查步骤:

1.首先,各个虚拟机和客户端之间都能ping通,虚拟机都能上外网,说明网络没有问题。

2.各个虚拟机自己的防火墙已经关闭。

3.是不是端口有问题呢?通过命令#netstat -tnpl

Hadoop集群50070WebUI访问不了;主机名可以访问,ip访问不了
Hadoop集群50070WebUI访问不了;主机名可以访问,ip访问不了
Hadoop集群50070WebUI访问不了;主机名可以访问,ip访问不了

发现监听都配置在:127.0.0.1,结合可以通过127.0.0.1:50070能够访问考虑,是不是把这个地址改成真实的IP就可以了?

因为所有hadoop内部配置的都是hostname,所以有两种方法:

1.将hadoop中所有的hostname改成IP的方式。

2.修改Linux的设置,将hostname映射地址改为真实的IP。

研究第二种方式,排查发现:hostname -i命令显示的IP为:127.0.0.1  真实IP

所以,在Master中,实验将/etc/hosts中的127.0.0.1一行注释掉,运行发现部分端口已经改正,还有部分端口没有改正过来。

将各个数据节点中/etc/hosts中的127.0.0.1行去掉,重新启动hadoop发现:

Hadoop集群50070WebUI访问不了;主机名可以访问,ip访问不了

通过http://真实IP:50070已经可以进行访问,问题解决。