Hadoop-解决NameNode启动后秒挂的问题(多次格式化造成元数据不统一)

直奔主题:hadoop集群启动后,namenode一开始有,但是过一会就没了,大概率是因为元数据不统一的问题。
这里只是一种可能性,不排除有其他配置原因
为什么会造成元数据不统一,最常见的是你NameNode多次格式化了。
举个例子:
如果你的Hadoop集群只格式化了一次,即正常情况下,看下NameNode和DataNode的元数据Id值:Hadoop-解决NameNode启动后秒挂的问题(多次格式化造成元数据不统一)
文章图片

如果你多次格式化了,那么就会造成元数据的不统一,如查看下日志Hadoop-解决NameNode启动后秒挂的问题(多次格式化造成元数据不统一)
文章图片
Hadoop-解决NameNode启动后秒挂的问题(多次格式化造成元数据不统一)
文章图片

解决方法1:复制NameNode中的ClusterId,修改DataNode中的ClusterId为
NameNode的ClusterId
一般NameNode的元数据Id地址为:(这个目录下有一个VERSION文件)

/你的安装路径,到你的安装包目录(可以看上面的图)/data/dfs/name/current

一般NameNode的元数据Id地址为:(这个目录下有一个VERSION文件)
/你的安装路径,到你的安装包目录(可以看上面的图)/data/dfs/data/current

【Hadoop-解决NameNode启动后秒挂的问题(多次格式化造成元数据不统一)】修改后就可以重启进程了(一般改Id可以解决大部分启动不成功的问题)
解决方法2:上文的data文件夹,原本Hadoop安装目录下是没有这个目录的,是你在第一次格式化后产生的,那么简单了。你把data文件夹全部删掉。关闭集群。重新格式化一次即可。(但是还是推荐第一种方式)
(万一你手抖了,删掉一些不该删的可咋整)
如果还不行,可以仔细检查下配置问题。
主要是看这几个:
  1. hadoop-evn.sh
  2. core-site.xml
  3. mapred-site.xml
  4. hdfs-site.xml

    推荐阅读