Hadoop 安装异常处理

来源:互联网 发布:ubuntu安装tomcat 编辑:程序博客网 时间:2024/05/18 01:46

hadoop异常解析



一、网页访问异常

异常:linux下hadoop4使用desktop火狐浏览器无法访问hadoop1的网址:hadoop:50070

原因:hadoop1、hadoop2、hadoop3、hadoop4均要关闭iptables(防火墙)和SELinux(Security-Enhanced Linux)

SELinux简介:
SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。NSA是在Linux社区的帮助下开发了一种访问控制体系,在


这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。


我的hadoop配置:
master节点:hadoop1(basicserver)
slaves节点:hadoop2(basicserver)、hadoop3(basicserver)、hadoop4(desktop)


解决方案:
在hadoop1到hadoop4下分别关闭防火墙和SELinux
关闭防火墙:
service iptables stop   \\临时关闭,重启后失效
service ip6tables stop
chkconfig iptables off   \\永久关闭,重启后仍关闭;ip6tables意思为ipv6
chkconfig ip6tables off
关闭SELinux:
setenforce 0
注意:关闭防火墙的命令,在root下方可执行,在普通用户下报错。同样地,在hadoop用户下启动网卡,ifup eth0也会报错:Users cannot control this device.


结果:关闭防火墙后,即可正常访问,问题解决。


二、启用datanode数在网页不显示



异常:访问hadoop1网址:hadoop:50070下的datanodes,Datanode Information下的node节点数不显示,无节点。


原因:/etc/hosts文件配置有问题


解决方案:


有问题前我的hosts文件配置:


127.0.0.1   localhost hadoop1 localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.88.138 hadoop1
192.168.88.139 hadoop2
192.168.88.140 hadoop3
192.168.88.142 hadoop4


修改后的hosts文件:
hadoop1:


127.0.0.1 hadoop1
#::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.88.138 hadoop1
192.168.88.139 hadoop2
192.168.88.140 hadoop3
192.168.88.142 hadoop4


hadoop2:


127.0.0.1 hadoop2
#::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.88.138 hadoop1
192.168.88.139 hadoop2
192.168.88.140 hadoop3
192.168.88.142 hadoop4


hadoop3:


127.0.0.1 hadoop3
#::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.88.138 hadoop1
192.168.88.139 hadoop2
192.168.88.140 hadoop3
192.168.88.142 hadoop4


hadoop4:


127.0.0.1 hadoop4
#::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.88.138 hadoop1
192.168.88.139 hadoop2
192.168.88.140 hadoop3
192.168.88.142 hadoop4


原因分析:
hosts文件是hostname->IP的一个映射方法,hosts文件一般如下格式:


第一部份:网络IP地址。


第二部份:主机名.域名,注意主机名和域名之间有个半角的点。


第二部份:主机名(主机名别名) ,其实就是主机名。


注意:::1 指的是ipv6的本地地址写法,相当于ipv4的本地地址是127.0.0.1


当然每行也可以是两部份,就是主机IP地址和主机名;比如 192.168.88.138 hadoop1


而如下写法产生歧义:127.0.0.1   localhost hadoop1 localhost4 localhost4.localdomain4
127.0.0.1后面第一个hostname为localhost,所以机器默认本机名为localhost,每台机器都如此,机器名重复,无法识别,所以节点数无法显示或者只能显示一个。
只要按上述方法,127.0.0.1 后面只写一个主机名hadoop1、hadoop2、hadoop3、hadoop4即可。


127.0.0.1   localhost hadoop1 localhost4 localhost4.localdomain4     
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.88.138 hadoop1
192.168.88.139 hadoop2
192.168.88.140 hadoop3
192.168.88.142 hadoop4
1 0
原创粉丝点击