欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Hadoop datanode重新加载失败无法启动现象解决方法介绍

程序员文章站 2022-05-02 18:40:10
Hadoop datanode重新加载失败无法启动现象解决方法介绍本人的解决方法适用于首次已经成功启动整个集群,但是由于不正常的操作造成第二次无法正常启动。首次的启动失败可能原因有很多:可能是由于配置文件错误写入造成的,或是由于ssh无密... 13-07-29...

笔者使用的是基于虚拟机的hadoop分布式安装,由于关闭datanode和namenode的顺序不恰当,所以经常会出现datanode加载失败的情况。

本人的解决方法适用于首次已经成功启动整个集群,但是由于不正常的操作造成第二次无法正常启动。首次的启动失败可能原因有很多:可能是由于配置文件错误写入造成的,或是由于ssh无密码登陆配置错误造成。

而第二次的错误原因与首次启动的有一些区别,排错重点应该集中在程序在运行中的一些动态加载而生成的文件上,笔者要讨论的是第二种情况:

大多原因就是因为hadoop的datanode的version文件中的namespaceid与namenode中的version文件中的namespaceid二者出现不一致的情况。而namespaceid的生成笔者推断应该是在执行:hdfs namenode -format 这个命令的时候生成的。

解决步骤如下:

1,首先停掉namenode上相关的进程:切换到hadoop的/sbin目录下:

sh  stop-dfs.sh

sh stop-yarn.sh

2,切换到hadoop的相应/current目录下将current下的所有文件清除。

3,将datanode与namenode的/current 下version等相应文件文件清除后,回到namenode上,执行hsfs namenode -format命令,接着切换到namenode的hadoop的/sbin目录下:

执行sh start-dfs.sh

sh start-yarn.sh

(旧版本的mapre  被新版本的yarn所替代,命令上多少有些不同)

既可以看到相应的节点成功加载。

相应的思想就是,当出错时,清除掉一切干扰思路的文件,然后整理思绪,重新开始,这样要远比在原地徘徊要好。

(由于我们在配置文件中指明的文件夹只有  hdfs tmp log,所以其余的文件也好文件夹也好都是动态执行脚本生成创建的,删除之后只要hadoop整个系统可以工作就会生成,即便错删,vm的 snapshot 也会拯救这个世界。)