问题:

  正常start-all.sh无法启动datanode进程,但是./hadoop-daemon.sh start datanode又可以启动。过一会后datanode进程又莫名消失。

原理:

多次hdfs namenode -format导致namenode生成了新的clusterID, 和datanode的不一致。

        

解决:

      查日志,发现异常信息如下:

2019-07-22 17:46:09,856 WARN org.apache.hadoop.hdfs.server.common.Storage: Failed to add storage directory [DISK]file:/home/wjy/hadoop/tmp/dfs/data
java.io.IOException: Incompatible clusterIDs in /home/wjy/hadoop-3.1.1/tmp/dfs/data: namenode clusterID = CID-8041cf56-7cbd-423e-a0b6-f782c1e1340f; datanode clusterID = CID-0d8412e3-e59b-4b1b-acdf-871b8cfa2f79

  照着网上说的删除本地dfs.data.dir下的所有内容然后重启进程并没有解决我的问题。这个dfs.data.dir是在hdfs-site.xml里找的(由于我用的hadoop3.1.1,所以是dfs.datanode.data.dir):

把data下面的current文件夹删了以后再次格式化namenode,还是那个问题,不同的是namenode的clusterID发生了改变(这很正常,因为重新格式化以后又生成了新的clusterID),datanode的clusterID却一直没变。按理说datanode的clusterID应该是在data/current/VERSION里面被记录的,但是现在我根本就把这个文件夹给删掉了。。。 而且启动datanode时应该会生成一个和namenode一样的clusterID的,并没有。把namenode的VERSION给复制过去做适当的修改还是没用。

后来我发现在下图这个路径下面还有一个data文件夹,下面的VERSION文件中的clusterID正是错误信息中的那个!

原来我之前删错了。。。 把这个current给删掉再重启一次datanode果然就好了(完全分布式记得要删除所有节点的哦,不然slave的datanode也会起不来的)。

可是很奇怪,为什么这个文件不生成在设置的dfs.datanode.name.dir的文件夹下面呢?而是在这个默认路径里面。

datanode启动异常(Incompatible clusterIDs)的更多相关文章

  1. hadoop2 datanode启动异常解决步骤

    1.datanode起不来2016-11-25 09:46:43,685 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Invalid d ...

  2. hadoop异常: 到目前为止解决的最牛逼的一个异常(java.io.IOException: Incompatible clusterIDs)

    (注意: 本人用的版本为hadoop2.2.0, 旧的版本和此版本的解决方法不同) 异常为: 9 (storage id DS-2102177634-172.16.102.203-50010-1384 ...

  3. hadoop集群启动报错: java.io.IOException: Incompatible clusterIDs

    java.io.IOException: Incompatible clusterIDs in /export/hadoop-2.7.5/hadoopDatas/datanodeDatas2: nam ...

  4. 启动Hadoop HDFS时的“Incompatible clusterIDs”错误原因分析

    "Incompatible clusterIDs"的错误原因是在执行"hdfs namenode -format"之前,没有清空DataNode节点的data目 ...

  5. 重新格式化namenode后,出现java.io.IOException Incompatible clusterIDs

    错误: java.io.IOException: Incompatible clusterIDs in /data/dfs/data: namenode clusterID = CID-d1448b9 ...

  6. Hadoop问题:启动hadoop 2.6遇到的datanode启动不了

    问题描述:第一次启动输入jps都有,第二次没有datanode 日志如下: 查看日志如下: -- ::, INFO org.mortbay.log: Started HttpServer2$Selec ...

  7. Hadoop2.6的DataNode启动不了

    2016-05-04 18:14:51,990 INFO org.apache.hadoop.ipc.Server: IPC Server Responder: starting 2016-05-04 ...

  8. Hadoop错误:java.io.IOException: Incompatible clusterIDs

    问题: 配置Hadoop集群时,一个节点的DataNode无法启动 排查: 查看hadoop-root-datanode-bigdata114.log文件,错误信息如下: java.io.IOExce ...

  9. 启动hadoop 2.6遇到的datanode启动不了

    转自 http://blog.csdn.net/zhangt85/article/details/42078347 查看日志如下: 2014-12-22 12:08:27,264 INFO org.m ...

随机推荐

  1. AsyncAPI 试用

    AsyncAPI 提供了类似openapi的代码生成,以下demo,来自官方,只是目前官方的generator有些问题以下 同时说明运行中的一些问题 环境准备 主要是安装依赖组件 npm instal ...

  2. 如何让SublimeText3更好用

    有关如何让Sublime Text3更好用 序言 某天在网上看到对于SublimeText3的介绍:一款插件功能强大的编辑器 ... 如果没有插件的话根本就是个稍微有点快捷键.配色喜人的普通编辑器,跟 ...

  3. Xilinx ISE中使用Synplify综合报错的原因之二

    今天发现,不同的器件型号下由IP core生成的模块有时不通用,在实现(implementation)时会出现translate错误.

  4. linux 配置启动supervisor详细

    参考自强学堂:https://code.ziqiangxuetang.com/django/django-nginx-deploy.html 例子中zqxt项目 安装 supervisor 软件包 ( ...

  5. python: str()

    tx1 = '中国' tx2 = u'中国' print tx1 print tx2 print type(tx1) print type(tx2) #<type 'str'> str() ...

  6. FZU Monthly-201909 获奖名单

    FZU Monthly-201909 获奖名单 冠军: 空缺 一等奖: 张咏真 S031802540 孔铖晗 S031802115 二等奖: 苏锦程 S031802325 林柄灿 S031802117 ...

  7. 闲话Dicom

    最近在准备一场有关DICOM应用的讲座,整理了一下思路.想了几个问题,发现挺有意思的,想与大家共同分享.接触过DICOM,应该了解普通DICOM 文件包含的四级属性,病人,检查,序列,影像.每一级别需 ...

  8. SpringMVC异步处理 可使用的返回值类型

    CallableMethodReturnValueHandler Callable.class.isAssignableFrom(returnType.getParameterType()); Def ...

  9. css---移动端网站专属BUG【苹果手机】

    最近在前端写页面的时候,遇到了三个苹果手机的专属BUG,记录下... BUG1:苹果手机 form 表单的input有阴影 解决方法: input { /* 1 */ overflow: visibl ...

  10. springboot+mybatisplus+druid数据库

    1.添加maven依赖 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis ...