启动Hadoop后 没有DataNode进程 的解决方法

搭建完全分布式模式后,启动Hadoop发现没有DataNode进程。下面来说说怎样解决这个问题。

一、 问题描述

在从节点(Slave)执行命令jps后,发现没有运行DataNode。
在这里插入图片描述

二、 问题分析

在启动Hadoop之前,进行了多次格式化,导致DataNode的ID发生了变化。

三、 解决方法

我们可以从 删除所有的DataNode资料 ,或者让 NameNode与DataNode的ID一致 ,这两个方向去解决这个问题。

3.1 方法一

删除 所有DataNode资料 ,再启动集群。

打开集群中运行DataNode进程的机子,找到VERSION文件(该文件的路径是自己之前搭建环境时所配置的,根据自己的配置去查找),如下图所示

下图是在Xshell连上虚拟机后,通过Xftp的图形界面去找文件;当然也可以通过命令去查找文件。

在这里插入图片描述
VERSION文件删掉(要将 集群中每个 运行DataNode进程主机的VERSION文件都删掉)

在这里插入图片描述
接着,重新格式化

hadoop namenode -format

再重启集群,执行jps命令查看

在这里插入图片描述

3.2 方法二

把DataNode的ID改为NameNode的ID。

上面3.1是通过Xftp查找文件的,这里演示下通过命令去查找文件。如果习惯通过图形界面查找文件的话,也可以使用Xftp查找。

首先,打开自己的hadoop目录,找到 dfs 目录(根据自己的配置找),在dfs目录下面有一个 data 目录和一个 name 目录

在这里插入图片描述
接着进入name目录,查看到有一个名为current的目录,如下图所示

在这里插入图片描述
再进入current目录,里面会有一个VERSION文件,执行命令打开它(gedit这个位置可以用 vi 或者 vim 代替)

gedit VERSION

在这里插入图片描述
打开后,把这个ID复制下来

在这里插入图片描述

退回 dfs 目录,打开该目录中的 data 目录下的 current 文件,如下图所示
在这里插入图片描述

执行命令打开 VERSION 文件(这个是data目录下的VERSION文件,别搞错了)

gedit VERSION

在这里插入图片描述
把上面在name目录下的 VERSION 文件中,复制的ID粘贴到这里。输入以下命令使之生效

source VERSION

重新格式化

hadoop namenode -format

再重启就可以解决这个问题了。


如果文章对你有帮助,请点个,留给评论支持一下😊,若有疑问可以私信留言😉。如果能给个三连(点赞收藏关注 )就最好啦😁。

  • 112
    点赞
  • 243
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 61
    评论
评论 61
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

苜苜的烂笔头

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

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

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

打赏作者

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

抵扣说明:

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

余额充值