Hadoop:分布式集群搭建成功但livenode为0

背景是这样的:有3台虚拟机,master1、slave1、slave2。在master1上启动了所有守护线程,slave1和slave2中相关的守护线程也跑起来了,并且关闭了防火墙,但在master1*问localhost:50070中的livenode始终为0,多次格式化后还是为0。

 

首先在master机上查看端口使用情况,发现只有来自slave机的ssh连接

Hadoop:分布式集群搭建成功但livenode为0

我们再去slave机中查看datanode有关日志

Hadoop:分布式集群搭建成功但livenode为0

发现slave机在反复尝试连接上localhost:9000,也就是本机的9000端口!这就是关键所在,slave机应该监听master机的9000端口才对

这是因为我一开始在配置master1中的core-site.xml时属性fs.defaultFS的值为hdfs://localhost:9000,然后我克隆出了两个slave机,导致了启动守护线程时slave机去尝试连接本地的9000端口

Hadoop:分布式集群搭建成功但livenode为0

只需要将slave机中的value改为hdfs://master1:9000即可

改完后在master1中看一眼端口情况,多了来自两个slave机的监听

Hadoop:分布式集群搭建成功但livenode为0

Hadoop:分布式集群搭建成功但livenode为0

Hadoop:分布式集群搭建成功但livenode为0