伪分布式搭建Hadoop中消失的“DataNode”

文章讲述了在Hadoop伪分布式环境中,DataNode进程缺失的常见原因——namenode多次格式化导致的clusterID不一致。解决方案包括关闭进程,检查并同步namenode和datanode的clusterID,以及重启所有进程。
摘要由CSDN通过智能技术生成

我们在搭建hadoop中都会出现一些小小的问题,在伪分布式安装完Hadoop后,jps查看进程的时候缺三少两,今天解决的问题是6个进程中缺少了DataNode。

开启进程后,jps查询:

缺少DataNode的原因通常是:

这个一般是因为namenode进行了多次的格式化bin/hdfs namenode -format,导致namenode的clusterID和datanode的clusterID不同。然而dfs/data中保存的current/VERSION文件中的clustreID的值是上一次格式化保存的clusterID 。这样,datanode和namenode之间的ID不一致。所以datanode进程“消失了”。

解决方法:

  1. 先关闭进程 sbin/stop-all.sh

  1. hadoop安装目录下打开本地文件local

  1. 在hadoop目录下查看vi core-site.xml配置文件记住/export/data/Hadoop-wfb-3.3.0这条路径(datanode和namenode的官方默认位置)

  1. /export/data/Hadoop-wfb-3.3.0local目录下打开并查看,是否有dfs,并打开dfs.

  1. 打开dfs目录并在其目录查询namedata目录。

注意:不管先打开目录data还是name都可以,要确保data/current/VERSION中的clusterID与name/current/VERSION中的clusterID相等即可。

(在这里我以先打开name目录开始演示)

  1. 接上命令操作,在dfs目录下首先打开name,然后在name目录中打开current目录。我们会在current中看见VERSION。(以下是我的操作)

  1. 输入命令vi VERSION打开VERSION文件,复制VERSION文件中的clusterID。

     

    

  1. 复制完成之后点击esc,shift+:wq退出该文件,再次回到dfs目录。并在dfs目录下打开data,然后在data目录中打开current目录。在current中打开VERSION文件。

9.将从name中VERSION文件中复制的clusterID,粘贴到data中VERSION文件中clusterID。要确保data/current/VERSION中的clusterID与name/current/VERSION中clusterID的值相等。

10. 粘贴完成之后点击esc,shift+:wq退出该文件。输入命令:cd /export/servers/wfb-hadoop/hadoop-3.3.0并切换到hadoop-3.3.0目录

11.输入sbin/start-all.sh开启进程查看jps,可以看到DataNode进程已经出现。

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值