IoTDB 断电后无法启动 DataNode,日志提示 Meet error while starting up

问题

IoTDB 1.3.2 版本,断电后 IoTDB 的 DataNode 无法启动,日志如下:

java 复制代码
2024-12-16 14:45:41,350 [main] ERROR o.a.i.db.service.DataNode:562 - Meet error while starting up. 
org.apache.iotdb.commons.exception.StartupException: For input string: "���"
  at org.apache.iotdb.db.pipe.progress.SimpleConsensusProgressIndexAssigner.start(SimpleConsensusProgressIndexAssigner.java:69)
  at org.apache.iotdb.db.pipe.agent.runtime.PipeDataNodeRuntimeAgent.preparePipeResources(PipeDataNodeRuntimeAgent.java:75)
  at org.apache.iotdb.db.service.DataNode.preparePipeResources(DataNode.java:950)
  at org.apache.iotdb.db.service.DataNode.prepareResources(DataNode.java:549)
  at org.apache.iotdb.db.service.DataNode.setUp(DataNode.java:599)
  at org.apache.iotdb.db.service.DataNode.active(DataNode.java:560)
  at org.apache.iotdb.db.service.DataNode.doAddNode(DataNode.java:215)
  at org.apache.iotdb.db.service.DataNodeServerCommandLine.run(DataNodeServerCommandLine.java:81)
  at org.apache.iotdb.commons.ServerCommandLine.doMain(ServerCommandLine.java:58)
  at org.apache.iotdb.db.service.DataNode.main(DataNode.java:183)

问题原因

断电时文件系统产生某些意外错误,导致 data/datanode/system/pipe/reboot_times.txt 文件写入内容异常。

解决方案

出现该日志导致无法启动时,区分两种情况进行处置:

  1. 如果系统中不存在 pipe 的使用,手动删除文件 data/datanode/system/pipe/reboot_times.txt 即可。

  2. 如果系统中存在 pipe 的使用,请联系社区开发同学提供安全解决方案(可以参考 https://github.com/apache/iotdb/pull/14594 自行修改源码后启动,或升级最新社区版本 > v1.3.3)。

相关推荐
2401_874732533 小时前
构建一个桌面版的天气预报应用
jvm·数据库·python
码云数智-园园3 小时前
坚如磐石:数据库事务ACID特性的实现奥秘
数据库·oracle
十月南城3 小时前
文档化与知识库方法——ADR、Runbook与故障手册的结构与维护节奏
大数据·数据库
qq_417695053 小时前
实战:用Python开发一个简单的区块链
jvm·数据库·python
悲伤小伞3 小时前
9-MySQL_索引
linux·数据库·c++·mysql·centos
霖霖总总3 小时前
[Redis小技巧24]Redis主从复制深度解剖:不只是SLAVEOF,Redis主从复制背后的RunID、Backlog
数据库·redis
不吃香菜学java4 小时前
苍穹外卖-菜品分页查询
数据库·spring boot·tomcat·log4j·maven·mybatis
狼与自由4 小时前
Redis 分布式锁
数据库·redis·分布式
skiy4 小时前
redis 使用
数据库·redis·缓存
mygljx4 小时前
Redis 下载与安装 教程 windows版
数据库·windows·redis