【BUG记录】集群启动后,jps没有datanode,检查发现clusterid一致

【Hadoop】集群启动后,jps没有datanode,检查发现clusterid一致

问题说明

像平常一样,使用./start-all.sh脚本后,发现jps没有datanode

查找原因

1 clusterid不一致

初次启动hadoop时候,namenode与datanode的clusterid保持一致。
后来启动集群,发现jps中没有datanode,通常情况下,是namenode多次format,导致namenode的clusterid改变,而datanode没有改变,造成两者的的clusterid不一致。

1.1 查看datanode与namenode的clusterid

1.1.1 文件路径

datanode和namenode的clusterid,分别保存在两个的文件夹下的VERSION文件中。
而两个的文件夹,是在hdfs-site.xml中配置的。

namenode:dfs.namenode.name.dir
datanode:dfs.datanode.data.dir

我的路径分别是:这里写图片描述

1.1.2 查看clusterid

datanode:

>cd /data/hadoop/dfs/data/current/
>cat VERSION|grep 'clusterID'
clusterID=CID-7a947ad6-8742-4dae-bb64-1a09b3d39342

这里写图片描述

namenode:

>cat /data/hadoop/dfs/name/current/VERSION |grep 'clusterID'
clusterID=CID-7a947ad6-8742-4dae-bb64-1a09b3d39342

这里写图片描述

1.1.3 不一致就修改datanode的clusterid

如果:clusterID不一致,修改datanode的clusterID,使namenode和datanode的clusterID保持一致就可以,然后重启集群查看JPS,一般就解决了。

我这里发现我的两个的clusterID两个是一致的,所以排除这个问题。

1.2 单独启动datanode试试:

hadoop-deamon.sh start datanode
datanode running as process 2672. Stop it first.

提示,datanode已经在运行了,重启整个集群,解决问题

总结

  1. 执行start-all.sh的时候粗心,没有注意到提示!
    这里写图片描述
  2. jps没有datanode ,一般情况都是clusterID不一致导致的,修改datanode的clusterID就好。
  • 5
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值