克隆虚拟机,配置hadoop完全分布式。每台机器都配置完静态ip,主机名,主机和ip映射。开启hadoop集群,(start-dfs.sh),master主机上namenode和secondarynamenode,slave1主机上的datanode,slave2主机上的slave2主机上的datanode都开启了,但是在master:50070网址上live node 只有一个,这个node 是随机的,有时候是slave1,有时候是slave2。
因为slave1和slave2都是通过master克隆过来的,slave1和slave2上的tmp内的dfs/data文件夹的内容相同,当开启hadoop时,slave1和slave2会竞争资源,所以,开启hadoop有时只开启slave1,有时只开启slave2。
解决方法:将slave1和slave2内的tmp目录下的dfs文件夹删掉,再把master主机上的tmp目录下的dfs文件夹删掉,重新格式化namenode: hdfs namenode -format。这样之后开启hadoop集群时,从节点上的datanode都会开启,并且都会加载到master上。