用jps查看此时datanode已经启动
[root@hadoop02 name]# jps
12858 DataNode
12987 NodeManager
13196 Jps
此时进入x.x.x.x:50070查看节点情况,只有01和03启动,02没有启动,但是用jps查看02上的datanode已经启动,这是为什么呢

这是因为克隆完在格式化namenode之后,没有去删除主从节点上面的用于保存数据的文件夹(即dfs.name.dir配置的路径下的文件),导致内部namenode存在的关于文件系统的元信息和数据节点对应不上造成的.
解决办法:
进入到 hdfs-site.xml 中找到配置name和data的2个路径

分别进入到这2个目录,然后删除这2个目录下的所有文件,除了作为namenode的机器 ,其他作为datanenode的机器都要删除,下同
比如我的是/home/hadoopdata/dfs/data 和 /home/hadoopdata/dfs/name
cd /home/hadoopdata/dfs/name
rm -rf ./*
cd /home/hadoopdata/dfs/data
rm -rf ./*
进入到 vim core-site.xml 查看如图的tmp路径

cd /opt/app/hadoop-2.7.7/data/tmp
rm -rf ./*
hsh我的文件夹: rm -rf /home/hadoop/dfs/name/* rm -rf /home/hadoop/dfs/data/* rm -rf /home/hadoop/temp/*
如果上述不行的话 在namenode节点的机器上格式化一下
hadoop namenode -format
进入后台查看一下,已经完美解决,三个节点运行正常,可以跑job啦

|