DataNode 启动失败报错 Incompatible clusterIDs
文章目录
- 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]
分析步骤
查看DataNode 目录
/opt/module/hadoop-3.3.1/data/dfs/data/current
下的VERSION
文件中的clusterID
.
查看 NamaNode 目录
/opt/module/hadoop-3.3.1/data/dfs/name/current
下的VERSION
文件中的clusterID
.
发现两个文件中的 clusterID 缺失不匹配.
经了解,HDFS架构中,每个DataNode 需要与 NameNode 进行通信, ClusterID 为 NameNode 的唯一标识.
解决办法
将启动失败的 DataNode 的 ClusterID 值 修改为 主 NameNode 的 ClusterID.
参考
Hadoop启动datanode失败,clusterId有问题 - 汪神 - 博客园 (cnblogs.com)
DataNode 启动失败报错 Incompatible clusterIDs相关推荐
- 解决espressif-ide启动失败报错Incompatible JVM问题
解决espressif-ide启动失败报错Incompatible JVM问题@ESP IDF Eclipse 开发环境 1.安装ESP-IDF Toolchain on Windows 可选用在线安 ...
- pod挂载nas启动失败报错:unable to mount volume xxxx Timeout waiting for mount paths to be created
深夜你熟睡时,用户打来电话.大哥我在上线我的应用怎么突然起不来了.快帮我看看,再过一个小时店铺就开门了. 核实pod状态 打开电脑登入环境,使用kubectl get pod 查询到用户的pod处于创 ...
- MySQL 启动失败报错无法更新pid文件
一.问题描述 某次因MySQL故障,一线人员反馈MySQL启动,一直无法启动,报错:启动mysql失败 ERROR! The server quit without updating PID file ...
- oracle00205报错,[Oracle] 数据库启动失败报错 ORA-00205: error in identifying control file
有同事问我,他的数据库启动失败,报错如下: ORA-00205: error in identifying control file, check alert log for more info 这种 ...
- Docker启动失败报错Failed to start Docker Application Container Engine解决方案
在给一台腾讯云机器安装docker后发现无法启动,总是报错Failed to start Docker Application Container Engine,解决思路分享一下,以免各位童鞋踩坑. ...
- systemctl start cloudera-scm-server 启动失败报错!
问题:执行查看service状态时,报错如下!!!! [root@node1 parcel-repo]# systemctl status cloudera-scm-server ● cloudera ...
- Rabbitmq启动失败--报错Mnesia is overloaded
文章目录 1. 环境信息 2. 发现问题 3. 问题排查 3.1 排查主机服务环境 3.2 排查日志信息 4. 问题解决 1. 环境信息 单节点rabbitmq,RabbitMQ 3.7.0 on E ...
- activeMQ启动失败报错illegal character in hostname at index
我在安装activemq的时候发现启动失败,查看了日志发下打印了一堆东西,但是关键信息就是illegal character in hostname at index 突然发现应该是hostname有 ...
- grafana启动失败 报错:Failed at step USER spawning /usr/sbin/grafana-server: No such process
说明:通过下载grafana的rpm进行安装grafana,安装成功后,启动grafana-server,显示启动失败 截图如下: 通过卸载重装,依旧不行 最后通过/etc/passwd中没有graf ...
最新文章
- 超简略的samba配置
- 【Microsoft Word】编辑文字后,图片位置混乱的解决方法
- mysql 字符串中取整_MySQL取整
- 软件:分享9款实用电脑软件,值得看一看
- java问题,(x.equals(y) == true)有相同的hashCode 应该是不一定
- java arraylist add时默认调用tostring_Java基础知识之ArrayList知识点总结
- 编译原理基础---思维导图
- mysql可变数据类型_【Python面试】 说说Python可变与不可变数据类型?
- 获取网页中的验证码图片
- 现代光学字符识别技术综述
- 浙大PAT 乙级(Basic Level) Practice 题解合集(全AC版)
- int temp java,temp是什么意思
- eregi php5.4,PHP 5.4/5.3弃用函数eregi() memory_limit绕过漏洞
- 纯CSS实现播放暂停按钮变形动画
- 学生个人html静态网页制作 基于HTML+CSS+JavaScript+jquery仿苏宁易购官网商城模板
- BlowFish算法Java实现
- 机器学习面试笔试超详细总结(一)(转载)
- Android /assets
- 《你一年的8760小时》读后感
- linux 对应 网口_linux 查看网口类型
热门文章
- Java毕业设计之spring+springmvc实现的小型云盘网盘管理系统-课设大作业
- UI设计入门知识有哪些 怎么掌握图标设计原则
- java毕业设计网络办公系统mybatis+源码+调试部署+系统+数据库+lw
- [原创] 我的项目管理之路--6、PMP认证
- weblogic集群问题(1)
- android ndk 段错误,利用NDK崩溃日志查找BUG
- Scratch(五十四):教师节快乐
- 推荐几个硬核 Java 学习网站
- STM32直接存储器存储的—般概念
- 【愚公系列】2021年12月 Python教学课程 17-模块与包