首页 > 网管 > 服务器 > 正文

Hadoop datanode重新加载失败无法启动解决

2020-05-27 13:33:34
字体:
来源:转载
供稿:网友

   笔者使用的是基于虚拟机的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 也会拯救这个世界。)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表