花开堪折直须折,莫待无花空折枝。|

Dancing-Pierre

园龄:1年9个月粉丝:3关注:0

Hadoop启动时,没有启动DataNode

1、问题

有时候Hadoop没关闭就格式化NameNode,经常会出现没有启动 DataNode 的情况
在这里插入图片描述

2、原因

当我们使用 hadoop namenode -format 格式化 NameNode 时,会在 NameNode 数据文件夹(这个文件夹为自己配置文件中 dfs.name.dir 的路径)中保存一个 current/VERSION 文件,记录 clusterID,DataNode 中保存的 current/VERSION 文件中的 clustreID 的值是上一次格式化前保存的 clusterID,这样,DataNode 和 NameNode 之间的ID不一致,导致启动 DataNode 的情况

3、解决办法

3.1 删除 dfs 文件夹(dfs文件夹中没有重要的数据)

dfs 目录在 ${HADOOP_HOME}/tmp/,删除后重新格式化 namenode ,再启动服务就可以看到 datanode 出现了
在这里插入图片描述

3.2 复制 clusterID(dfs文件夹中有着重要的数据)

在 ${HADOOP_HOME}/tmp/dfs/name 目录下找到一个 current/VERSION 文件,记录 clusterID 并复制。
在这里插入图片描述
然后 ${HADOOP_HOME}/tmp/dfs/data 目录下找到一个 current/VERSION 文件,将其中 clustreID的值替换成刚刚复制的 clusterID 的值即可
在这里插入图片描述
jps 一下,DataNode 出现啦
在这里插入图片描述

4、总结

每次运行结束 Hadoop 后,都要执行 stop-all.sh 关掉Hadoop所有服务。下次想重新运行 Hadoop,不用再格式化 NameNode ,直接启动 Hadoop 即可

本文作者:皮埃尔的撒哈拉

本文链接:https://www.cnblogs.com/wyc-1009/p/17548032.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   Dancing-Pierre  阅读(58)  评论(0编辑  收藏  举报  
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起