- 在格式化之前可以现去hadoop目录下的打开 etc/hadoop里面的core-site文件
查看hadoop运行时临时文件的产生的位置,我的位置是在/data/tmp中
- 进到/data/tmp/dfs发现里面有一个data和name目录
分别打开这两个目录下的VERSION文件
你会发现namenode的集群号和datanode的集群号一模一样所以他们之间可以互相通信,jps查看得时候dataname也会好好的,当然这是正常情况下肯定是这样的。
当你多次格式化NameNode时,会产生新的集群id,导致NameNode和DataNode的集群id不一致,集群找不到已往数据。所以,格式NameNode时,一定要先删除data数据和log日志,然后再格式化NameNode。
解决办法:1. 先用jps去查看进程,如果发现有namenode进程直接给他结束掉(sbin/hadoop-daemon.sh start namenode,注意此命令在hadoop的目录中运行)
- 在hadoop目录下 rm -rf data/ (这个目录请看 etc/hadoop里面的core-site文件,第一张图也有说明)
rm -rf logs/
删除成功后在对namenode格式化以后启动namedone和datanode用jps查看会发现datanode不会秒挂了