Hadoop启动时,没有启动DataNode

本文讲述了当Hadoop NameNode未关闭而格式化时,可能导致DataNode无法启动的问题。原因在于NameNode和DataNode的clusterID不匹配。解决方法包括删除无用的dfs文件夹或复制重要的clusterID。确保每次运行完Hadoop后关闭服务,避免重复格式化。

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 即可

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

跳舞的皮埃尔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值