-
描述
由于多次使用bin/hadoop namenode -format命令导致集群无法启动DataNode节点 -
产生原因
执行文件系统格式化时(bin/hadoop namenode -format ),会在namenode数据文件夹(即配置文件中dfs.name.dir在本地系统的路径)中保存一个文件,记录clusterID,标识了所格式化的namenode的版本。如果我们频繁的格式化namenode,那么datanode中保存(即配置文件中dfs.data.dir在本地系统的路径)的文件只是你第一次格式化时保存的namenode的ID,因此就会造成namdenode 的 clusterID与 datanode的clusterID不一致,从而导致namenode和 datanode的断连。 -
解决方法
- 第一种
直接删除Hadoop的tmp、dfs、logs目录,然后重新格式化,再次启动就好了 - 第二种
找到两个文件,文件地址分别是dfs.name.dir下的/current/VERSION和dfs.data.dir下的/current/VERSION(dfs.name.dir和dfs.data.dir是自己在配置文件中设置的路径)
找到后打开两个文件可以发现,两个clusterID已经不一样了,如下图所示
记录data的
记录name的
现在我们只需要将两个clusterID改成一样,再次重启即可
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)