文章目录

  • DataNode 启动失败报错 Incompatible clusterIDs
    • 信息
    • 报错摘要
    • 问题描述
    • 问题原因
    • 分析步骤
    • 解决办法
    • 参考

DataNode 启动失败报错 Incompatible clusterIDs

信息

  • 环境版本: Hadoop 3.3.1
  • 系统版本: CentOS 7.4
  • Java 版本: Java SE 1.8.0_301

报错摘要

java.io.IOException: Incompatible clusterIDs in /opt/module/hadoop-3.3.1/data/dfs/data: namenode clusterID = CID-aa23cfe4-9ad3-4c06-87fc-e862c8f3a722; datanode clusterID = CID-55fa9a51-7777-4ff4-87d6-4df7cf2cb8b9

问题描述

DataNode 启动报错, /opt/module/hadoop-3.3.1/logs/hadoop-bordy-datanode-hadoop102.log 日志报错内容如下:

2021-11-29 21:58:51,350 INFO org.apache.hadoop.hdfs.server.common.Storage: Using 1 threads to upgrade data directories (dfs.datanode.parallel.volumes.load.threads.num=1, dataDirs=1)
2021-11-29 21:58:51,354 INFO org.apache.hadoop.hdfs.server.common.Storage: Lock on /opt/module/hadoop-3.3.1/data/dfs/data/in_use.lock acquired by nodename 13694@hadoop102
2021-11-29 21:58:51,356 WARN org.apache.hadoop.hdfs.server.common.Storage: Failed to add storage directory [DISK]file:/opt/module/hadoop-3.3.1/data/dfs/data
java.io.IOException: Incompatible clusterIDs in /opt/module/hadoop-3.3.1/data/dfs/data: namenode clusterID = CID-aa23cfe4-9ad3-4c06-87fc-e862c8f3a722; datanode clusterID = CID-55fa9a51-7777-4ff4-87d6-4df7cf2cb8b9at org.apache.hadoop.hdfs.server.datanode.DataStorage.doTransition(DataStorage.java:746)at org.apache.hadoop.hdfs.server.datanode.DataStorage.loadStorageDirectory(DataStorage.java:296)at org.apache.hadoop.hdfs.server.datanode.DataStorage.loadDataStorage(DataStorage.java:409)at org.apache.hadoop.hdfs.server.datanode.DataStorage.addStorageLocations(DataStorage.java:389)at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:561)at org.apache.hadoop.hdfs.server.datanode.DataNode.initStorage(DataNode.java:1753)at org.apache.hadoop.hdfs.server.datanode.DataNode.initBlockPool(DataNode.java:1689)at org.apache.hadoop.hdfs.server.datanode.BPOfferService.verifyAndSetNamespaceInfo(BPOfferService.java:394)at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.connectToNNAndHandshake(BPServiceActor.java:295)at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.run(BPServiceActor.java:854)at java.lang.Thread.run(Thread.java:748)
2021-11-29 21:58:51,358 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for Block pool <registering> (Datanode Uuid a4eeff59-0192-4402-8278-4743158fa405) service to hadoop101/192.168.2.101:8020. Exiting.
java.io.IOException: All specified directories have failed to load.at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:562)at org.apache.hadoop.hdfs.server.datanode.DataNode.initStorage(DataNode.java:1753)at org.apache.hadoop.hdfs.server.datanode.DataNode.initBlockPool(DataNode.java:1689)at org.apache.hadoop.hdfs.server.datanode.BPOfferService.verifyAndSetNamespaceInfo(BPOfferService.java:394)at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.connectToNNAndHandshake(BPServiceActor.java:295)at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.run(BPServiceActor.java:854)at java.lang.Thread.run(Thread.java:748)
2021-11-29 21:58:51,359 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Ending block pool service for: Block pool <registering> (Datanode Uuid a4eeff59-0192-4402-8278-4743158fa405) service to hadoop101/192.168.2.101:8020
2021-11-29 21:58:51,363 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: Removed Block pool <registering> (Datanode Uuid a4eeff59-0192-4402-8278-4743158fa405)
2021-11-29 21:58:53,364 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Exiting Datanode
2021-11-29 21:58:53,424 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down DataNode at hadoop102/192.168.2.102
************************************************************/

问题原因

hadoop的升级功能需要data-node在它的版本文件里存储一个永久性的clusterID,当datanode启动时会检查并匹配namenode的版本文件里的clusterID,如果两者不匹配,就会出现"Incompatible clusterIDs"的异常. 参见官方CCR[HDFS-107]

分析步骤

  1. 查看DataNode 目录 /opt/module/hadoop-3.3.1/data/dfs/data/current下的 VERSION 文件中的 clusterID.

  2. 查看 NamaNode 目录 /opt/module/hadoop-3.3.1/data/dfs/name/current 下的 VERSION 文件中的 clusterID.

  3. 发现两个文件中的 clusterID 缺失不匹配.

  4. 经了解,HDFS架构中,每个DataNode 需要与 NameNode 进行通信, ClusterID 为 NameNode 的唯一标识.

解决办法

将启动失败的 DataNode 的 ClusterID 值 修改为 主 NameNode 的 ClusterID.

参考

Hadoop启动datanode失败,clusterId有问题 - 汪神 - 博客园 (cnblogs.com)

DataNode 启动失败报错 Incompatible clusterIDs相关推荐

  1. 解决espressif-ide启动失败报错Incompatible JVM问题

    解决espressif-ide启动失败报错Incompatible JVM问题@ESP IDF Eclipse 开发环境 1.安装ESP-IDF Toolchain on Windows 可选用在线安 ...

  2. pod挂载nas启动失败报错:unable to mount volume xxxx Timeout waiting for mount paths to be created

    深夜你熟睡时,用户打来电话.大哥我在上线我的应用怎么突然起不来了.快帮我看看,再过一个小时店铺就开门了. 核实pod状态 打开电脑登入环境,使用kubectl get pod 查询到用户的pod处于创 ...

  3. MySQL 启动失败报错无法更新pid文件

    一.问题描述 某次因MySQL故障,一线人员反馈MySQL启动,一直无法启动,报错:启动mysql失败 ERROR! The server quit without updating PID file ...

  4. oracle00205报错,[Oracle] 数据库启动失败报错 ORA-00205: error in identifying control file

    有同事问我,他的数据库启动失败,报错如下: ORA-00205: error in identifying control file, check alert log for more info 这种 ...

  5. Docker启动失败报错Failed to start Docker Application Container Engine解决方案

    在给一台腾讯云机器安装docker后发现无法启动,总是报错Failed to start Docker Application Container Engine,解决思路分享一下,以免各位童鞋踩坑. ...

  6. systemctl start cloudera-scm-server 启动失败报错!

    问题:执行查看service状态时,报错如下!!!! [root@node1 parcel-repo]# systemctl status cloudera-scm-server ● cloudera ...

  7. Rabbitmq启动失败--报错Mnesia is overloaded

    文章目录 1. 环境信息 2. 发现问题 3. 问题排查 3.1 排查主机服务环境 3.2 排查日志信息 4. 问题解决 1. 环境信息 单节点rabbitmq,RabbitMQ 3.7.0 on E ...

  8. activeMQ启动失败报错illegal character in hostname at index

    我在安装activemq的时候发现启动失败,查看了日志发下打印了一堆东西,但是关键信息就是illegal character in hostname at index 突然发现应该是hostname有 ...

  9. grafana启动失败 报错:Failed at step USER spawning /usr/sbin/grafana-server: No such process

    说明:通过下载grafana的rpm进行安装grafana,安装成功后,启动grafana-server,显示启动失败 截图如下: 通过卸载重装,依旧不行 最后通过/etc/passwd中没有graf ...

最新文章

  1. 超简略的samba配置
  2. 【Microsoft Word】编辑文字后,图片位置混乱的解决方法
  3. mysql 字符串中取整_MySQL取整
  4. 软件:分享9款实用电脑软件,值得看一看
  5. java问题,(x.equals(y) == true)有相同的hashCode 应该是不一定
  6. java arraylist add时默认调用tostring_Java基础知识之ArrayList知识点总结
  7. 编译原理基础---思维导图
  8. mysql可变数据类型_【Python面试】 说说Python可变与不可变数据类型?
  9. 获取网页中的验证码图片
  10. 现代光学字符识别技术综述
  11. 浙大PAT 乙级(Basic Level) Practice 题解合集(全AC版)
  12. int temp java,temp是什么意思
  13. eregi php5.4,PHP 5.4/5.3弃用函数eregi() memory_limit绕过漏洞
  14. 纯CSS实现播放暂停按钮变形动画
  15. 学生个人html静态网页制作 基于HTML+CSS+JavaScript+jquery仿苏宁易购官网商城模板
  16. BlowFish算法Java实现
  17. 机器学习面试笔试超详细总结(一)(转载)
  18. Android /assets
  19. 《你一年的8760小时》读后感
  20. linux 对应 网口_linux 查看网口类型

热门文章

  1. Java毕业设计之spring+springmvc实现的小型云盘网盘管理系统-课设大作业
  2. UI设计入门知识有哪些 怎么掌握图标设计原则
  3. java毕业设计网络办公系统mybatis+源码+调试部署+系统+数据库+lw
  4. [原创] 我的项目管理之路--6、PMP认证
  5. weblogic集群问题(1)
  6. android ndk 段错误,利用NDK崩溃日志查找BUG
  7. Scratch(五十四):教师节快乐
  8. 推荐几个硬核 Java 学习网站
  9. STM32直接存储器存储的—般概念
  10. 【愚公系列】2021年12月 Python教学课程 17-模块与包