完整内容后续再补,先写个问题排除记录。
无法访问web界面的问题
如果hdfs在虚拟机启动后,在主机上访问不了web界面,
可以使用netstat -ntlp
查看一下有没有9870端口或50070端口的监听,
因为hdfs启动后,旧版本监听50070,新版本监听9870端口,
这个地址可以在$HADOOP_HOME/etc/haddop/hdfs-site.xml文件中显式指定:
如果有,但是显示的IP地址是127.0.0.1,
可以尝试在hosts文件里面将主机名指向127地址删掉,
保留如果没有则添加一条主机名指向真实IP地址的记录。
然后重新启动hdfs,这时再次查看监听地址已经变成了真实的IP地址:
再次访问web端口已经可以正常访问:
另一种情况
如果不改hosts文件,而在$HADOOP_HOME/etc/hadoop/hdfs-site.xml文件中更改web端的访问地址,
也是可以访问到的:
但是
由于hosts文件中主机名对应的还是localhost,这将导致hdfs监听的还是本地环回地址,
这将导致其他节点无法与此节点沟通:
无法沟通也就是意味着集群没有形成集群,即使能用,节点也就只剩下一个:
所以这样改是不对的,应该按第一种情况改hosts文件,
# 应该这样写
127.0.0.1 localhost
x.x.x.x hostname
# 不要写127.0.0.1 hostname
# 我将其写在x.x.x.x hostname下面依然不行,hadoop启动还是会监听127
正常启动的情况: