zookeeper 无法启动

这篇具有很好参考价值的文章主要介绍了zookeeper 无法启动。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、查看服务状态

[root@VM-centos install]# systemctl status zookeeper.service 
● zookeeper.service - Coordination service for distributed applications
   Loaded: loaded (/usr/lib/systemd/system/zookeeper.service; enabled; vendor preset: disabled)
   Active: failed (Result: start-limit) since Sat 2023-10-07 09:16:22 CST; 29s ago
  Process: 12771 ExecStart=/usr/bin/java -cp ${CLASSPATH} $JAVA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=${JMXLOCALONLY} -Dzookeeper.log.dir=${ZOO_LOG_DIR} -Dzookeeper.root.logger=${ZOO_LOG4J_PROP} $ZOOMAIN $ZOOCFG (code=exited, status=1/FAILURE)
 Main PID: 12771 (code=exited, status=1/FAILURE)

Oct 07 09:16:22 VM-5-123-centos systemd[1]: Unit zookeeper.service entered failed state.
Oct 07 09:16:22 VM-5-123-centos systemd[1]: zookeeper.service failed.
Oct 07 09:16:22 VM-5-123-centos systemd[1]: zookeeper.service holdoff time over, scheduling restart.
Oct 07 09:16:22 VM-5-123-centos systemd[1]: Stopped Coordination service for distributed applications.
Oct 07 09:16:22 VM-5-123-centos systemd[1]: start request repeated too quickly for zookeeper.service
Oct 07 09:16:22 VM-5-123-centos systemd[1]: Failed to start Coordination service for distributed applications.
Oct 07 09:16:22 VM-5-123-centos systemd[1]: Unit zookeeper.service entered failed state.
Oct 07 09:16:22 VM-5-123-centos systemd[1]: zookeeper.service failed.

2、查看启动日志


[root@VM-centos install]# journalctl -u zookeeper.service -f
-- Logs begin at Wed 2023-10-04 02:00:32 CST. --
Oct 07 09:16:21 VM-5-123-centos systemd[1]: Started Coordination service for distributed applications.
Oct 07 09:16:22 VM-5-123-centos systemd[1]: zookeeper.service: main process exited, code=exited, status=1/FAILURE
Oct 07 09:16:22 VM-5-123-centos systemd[1]: Unit zookeeper.service entered failed state.
Oct 07 09:16:22 VM-5-123-centos systemd[1]: zookeeper.service failed.
Oct 07 09:16:22 VM-5-123-centos systemd[1]: zookeeper.service holdoff time over, scheduling restart.
Oct 07 09:16:22 VM-5-123-centos systemd[1]: Stopped Coordination service for distributed applications.
Oct 07 09:16:22 VM-5-123-centos systemd[1]: start request repeated too quickly for zookeeper.service
Oct 07 09:16:22 VM-5-123-centos systemd[1]: Failed to start Coordination service for distributed applications.
Oct 07 09:16:22 VM-5-123-centos systemd[1]: Unit zookeeper.service entered failed state.
Oct 07 09:16:22 VM-5-123-centos systemd[1]: zookeeper.service failed.

3、查看服务日志
cat /var/log/zookeeper/zookeeper.log

2023-10-07 09:16:21,615 [myid:] - ERROR [main:QuorumPeerConfig@347] - Invalid configuration, only one server specified (ignoring)
2023-10-07 09:16:21,619 [myid:] - WARN  [main:QuorumPeerMain@116] - Either no config or no quorum defined in config, running  in standalone mode
2023-10-07 09:16:21,631 [myid:] - ERROR [main:QuorumPeerConfig@347] - Invalid configuration, only one server specified (ignoring)
2023-10-07 09:16:21,757 [myid:] - WARN  [NIOServerCxn.Factory:/10.0.5.123:2181:NIOServerCnxn@383] - Exception causing close of session 0x0: ZooKeeperServer not running
2023-10-07 09:16:22,046 [myid:] - ERROR [main:Util@214] - Last transaction was partial.
2023-10-07 09:16:22,063 [myid:] - ERROR [main:Util@214] - Last transaction was partial.
2023-10-07 09:16:22,064 [myid:] - ERROR [main:ZooKeeperServerMain@66] - Unexpected exception, exiting abnormally
java.io.EOFException
        at java.io.DataInputStream.readInt(DataInputStream.java:392)
        at org.apache.jute.BinaryInputArchive.readInt(BinaryInputArchive.java:63)
        at org.apache.zookeeper.server.persistence.FileHeader.deserialize(FileHeader.java:66)
        at org.apache.zookeeper.server.persistence.FileTxnLog$FileTxnIterator.inStreamCreated(FileTxnLog.java:588)
        at org.apache.zookeeper.server.persistence.FileTxnLog$FileTxnIterator.createInputArchive(FileTxnLog.java:607)
        at org.apache.zookeeper.server.persistence.FileTxnLog$FileTxnIterator.goToNextLog(FileTxnLog.java:573)
        at org.apache.zookeeper.server.persistence.FileTxnLog$FileTxnIterator.next(FileTxnLog.java:653)
        at org.apache.zookeeper.server.persistence.FileTxnSnapLog.fastForwardFromEdits(FileTxnSnapLog.java:219)
        at org.apache.zookeeper.server.persistence.FileTxnSnapLog.restore(FileTxnSnapLog.java:176)
        at org.apache.zookeeper.server.ZKDatabase.loadDataBase(ZKDatabase.java:217)
        at org.apache.zookeeper.server.ZooKeeperServer.loadData(ZooKeeperServer.java:284)
        at org.apache.zookeeper.server.ZooKeeperServer.startdata(ZooKeeperServer.java:407)
        at org.apache.zookeeper.server.NIOServerCnxnFactory.startup(NIOServerCnxnFactory.java:118)
        at org.apache.zookeeper.server.ZooKeeperServerMain.runFromConfig(ZooKeeperServerMain.java:122)
        at org.apache.zookeeper.server.ZooKeeperServerMain.initializeAndRun(ZooKeeperServerMain.java:89)
        at org.apache.zookeeper.server.ZooKeeperServerMain.main(ZooKeeperServerMain.java:55)
        at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:119)
        at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:81)

原因

从提供的日志中,可以看到ZooKeeper在启动过程中遇到了一个java.io.EOFException异常。这个异常通常表示在读取文件时意外地到达了文件的末尾。在这种情况下,异常可能是由于ZooKeeper的事务日志文件(txnLog)损坏或不完整所导致的。

以下是一些建议,可以帮助你解决这个问题:

  1. 检查ZooKeeper的数据目录(通过dataDir配置项指定),确保事务日志文件和快照文件的完整性。如果有损坏或不完整的文件,尝试从备份中恢复。

  2. 如果没有备份,尝试删除损坏的事务日志文件,然后重新启动ZooKeeper。请注意,这样做可能会导致数据丢失,因此在进行此操作之前,请确保已尝试其他恢复方法。

  3. 如果你的ZooKeeper部署是一个集群(Quorum),可以尝试从其他正常运行的节点复制事务日志文件和快照文件,然后将它们放到出现问题的节点上。在执行此操作之前,请确保停止出现问题的ZooKeeper节点。

  4. 检查ZooKeeper的配置文件(zoo.cfg),确保所有配置项(如dataDirdataLogDir等)都正确设置。

  5. 如果问题仍然存在,考虑升级ZooKeeper到最新版本,以便获得潜在的错误修复和性能改进。

请注意,处理损坏的事务日志文件和快照文件可能会导致数据丢失。因此,在执行任何操作之前,请确保已采取适当的备份措施。在生产环境中,建议定期备份ZooKeeper的数据目录,以便在出现问题时可以快速恢复。

最终解决方案

删除损坏的事务日志,(大小为零的日志文章来源地址https://www.toymoban.com/news/detail-769599.html

ll /var/lib/zookeeper/version-2/
total 65500
-rw-r--r-- 1 zookeeper zookeeper 67108880 Sep 24 01:49 log.1b9e9b
-rw-r--r-- 1 zookeeper zookeeper 67108880 Sep 24 21:00 log.1c86b9
-rw-r--r-- 1 zookeeper zookeeper 67108880 Sep 25 17:37 log.1dcf95
-rw-r--r-- 1 zookeeper zookeeper 67108880 Sep 26 06:50 log.1f30fb
-rw-r--r-- 1 zookeeper zookeeper 67108880 Sep 27 16:48 log.2013c8
-rw-r--r-- 1 zookeeper zookeeper 67108880 Sep 28 05:25 log.21397c
-rw-r--r-- 1 zookeeper zookeeper 67108880 Sep 28 07:51 log.218201
`-rw-r--r-- 1 zookeeper zookeeper        0 Sep 28 07:51 log.2194d7`
-rw-r--r-- 1 zookeeper zookeeper   754513 Sep 24 01:49 snapshot.1c86b7
-rw-r--r-- 1 zookeeper zookeeper   754513 Sep 24 21:00 snapshot.1dcf93
-rw-r--r-- 1 zookeeper zookeeper   754513 Sep 25 17:37 snapshot.1f30f9
-rw-r--r-- 1 zookeeper zookeeper   755068 Sep 26 06:50 snapshot.2013c6
-rw-r--r-- 1 zookeeper zookeeper   754340 Sep 27 16:48 snapshot.21397b
#删除大小为零的日志
[root@VM-centos install]# rm -rf /var/lib/zookeeper/version-2/log.2194d
#重启服务
[root@VM-centos install]# systemctl restart zookeeper.service 
#查看服务状态
[root@VM-centos install]# systemctl status zookeeper.service 
● zookeeper.service - Coordination service for distributed applications
   Loaded: loaded (/usr/lib/systemd/system/zookeeper.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2023-10-07 09:26:25 CST; 9s ago
 Main PID: 22341 (java)
    Tasks: 26
   Memory: 168.9M
   CGroup: /system.slice/zookeeper.service
           └─22341 /usr/bin/java -cp /etc/zookeeper:/opt/zookeeper/zookeeper-3.4.14.jar:/opt/zookeeper/lib/audience-annotations-0.5.0.jar:/opt/zookeeper/lib/jline-0.9.94.jar:/o...

Oct 07 09:26:25 VM-5-123-centos systemd[1]: Started Coordination service for distributed applications.]

到了这里,关于zookeeper 无法启动的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 分布式锁原理与实战三:ZooKeeper分布式锁的原理

             目录 ZooKeeper分布式锁的原理 ZooKeeper的每一个节点,都是一个天然的顺序发号器。 ZooKeeper节点的递增有序性,可以确保锁的公平 ZooKeeper的节点监听机制,可以保障占有锁的传递有序而且高效 ZooKeeper的节点监听机制,能避免羊群效应 分布式锁的抢占过程 客户端

    2024年02月08日
    浏览(35)
  • ZooKeeper的分布式锁

    ZooKeeper的分布式锁机制主要利用ZooKeeper的节点特性,通过创建和删除节点来实现锁的控制。 实现步骤: 创建锁节点:当一个进程需要访问共享资源时,它会在ZooKeeper中创建一个唯一的临时顺序节点作为锁。 尝试获取锁:进程会查看当前所有的锁节点,检查自己创建的节点是

    2024年04月22日
    浏览(30)
  • Zookeeper 分布式锁案例

    Zookeeper 是一个开源的分布式协调服务,可以用于维护分布式系统中的一致性、顺序性和命名等。其中,Zookeeper 的分布式锁机制可以用于实现分布式系统中的互斥访问,确保在多个节点上对共享资源进行同步访问。 Zookeeper 分布式锁的实现原理是基于 Zookeeper 的临时有序节点和

    2024年02月16日
    浏览(30)
  • 分布式协调组件Zookeeper

    ZooKeeper 是⼀种 分布式协调组件 ,用于管理大型主机。 在分布式环境中协调和管理服务是一个复杂的过程 。ZooKeeper 通过其简单的架构和 API 解决了这个问题。ZooKeeper 允许开发人员专注于核心应用程序逻辑,而不必担心应用程序的分布式特性。 分布式协调组件 在分布式系统

    2024年02月13日
    浏览(33)
  • zookeeper伪分布式安装

    需要有jdk1.8 (1)将zookeeper的安装包上传到/opt/modules目录下 (2)解压 (3)更名 切换到/opt/installs目录下 (4)配置环境变量 切换到/opt/installs/zookeeper3.6.3/conf目录下

    2024年02月17日
    浏览(27)
  • Zookeeper实现分布式锁

    ZooKeeper是一个分布式协调服务,其中提供的序列化、持久化、有层次的目录结构使得它非常适合用于实现分布式锁。在ZooKeeper中,分布式锁通常通过临时有序节点实现。以下是ZooKeeper分布式锁的详细介绍:  实现方式: 临时有序节点: 当一个客户端需要获取锁时,它在ZooK

    2024年02月02日
    浏览(47)
  • 【分布式锁】06-Zookeeper实现分布式锁:可重入锁源码分析

    前言 前面已经讲解了Redis的客户端Redission是怎么实现分布式锁的,大多都深入到源码级别。 在分布式系统中,常见的分布式锁实现方案还有Zookeeper,接下来会深入研究Zookeeper是如何来实现分布式锁的。 Zookeeper初识 文件系统 Zookeeper维护一个类似文件系统的数据结构 image.png 每

    2024年02月22日
    浏览(38)
  • ZooKeeper之分布式环境搭建--仲裁模式与伪分布式环境搭建

    相关知识 为了完成本关任务,你需要掌握:1.ZooKeeper单节点安装方法,2.命令行基本操作。 ZooKeeper之仲裁模式 standlone 模式运行ZooKeeper,便于评估,开发,测试和学习。但是在实际生产中,使用ZooKeeper均以仲裁模式( quorum mode )运行, quorum mode 具有一组ZooKeeper服务器,这一组

    2024年02月05日
    浏览(38)
  • 分布式锁实现方案-基于zookeeper的分布式锁实现(原理与代码)

    目录 一、基于zookeeper的分布式锁 1.1 基于Zookeeper实现分布式锁的原理 1.1.1 分布式锁特性说明 1.1.1.1 特点分析 1.1.1.2 本质 1.1.2 Zookeeper 分布式锁实现原理 1.1.2.1 Zookeeper临时顺序节点特性 1.1.2.2 Zookeeper满足分布式锁基本要求 1.1.2.3 Watcher机制 1.1.2.3 总结 1.2 分布式锁流程说明 1.2.1

    2024年04月24日
    浏览(33)
  • 分布式系统面试全集通第一篇(dubbo+redis+zookeeper----分布式+CAP+BASE+分布式事务+分布式锁)

    什么是分布式 一个系统各组件分别部署在不同服务器。彼此通过网络通信和协调的系统。 也可以指多个不同组件分布在网络上互相协作,比如说电商网站 也可以一个组件的多个副本组成集群,互相协作如同一个组件,比如数据存储服务中为了数据不丢失而采取的多个服务备

    2024年04月11日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包