Zookeeper 角色启动不了,日志报错 Unable to load database on disk

内容纲要

概要描述


TDH 的 Zookeeper 或 License 服务 中的 Zookeeper 有角色启动不了 (Not Running),/var/log/zookeeper1/zookeeper.log ( license 的日志在 /var/log/transwarp_license_cluster/zookeeper.log 或 /var/log/license/zookeeper.log ) 日志有报错:

ERROR org.apache.zookeeper.server.persistence.Util: [myid:35] - [main:Util@239] - Last transaction was partial.
ERROR org.apache.zookeeper.server.quorum.QuorumPeer: [myid:35] - [main:QuorumPeer@453] - Unable to load database on disk


详细说明


可能产生该报错的几种原因


  • 服务器出现过重启,或是掉电重启等;
  • 根目录满导致节点服务异常,恢复文件系统后,Zookeeper 的后台任务由于突然中断进程发生锁死,无法同步数据,无法启动该节点服务。

解决方式


使用前提 :Zookeeper 服务的正常节点数超过一半 (大于 N/2),否则不推荐。

方法

  • 根据日志报错上下文,ssh 到 Zookeeper 角色异常的节点服务器,执行如下命令:
    $ cd /var/zookeeper1/ && mv version-2{,.bak}
    “/var/zookeeper1” 目录一般可在日志报错上下文看到, 换成实际的目录;若需要,“version-2”也换成实际目录

  • 登录 8180 服务管理台,重新启动有问题的 Zookeeper 角色即可,不用重启整个 Zookeeper 组件

这篇文章对您有帮助吗?

平均评分 5 / 5. 次数: 1

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。