2023-06-06 14:17:17,877 [myid:5] - ERROR [main:QuorumPeer@171] - Setting LearnerType to PARTICIPANT but 5 not in QuorumPeers. 2023-06-06 14:17:17,880 [myid:5] - ERROR [main:QuorumPeerMain@89] - Unexpected exception, exiting abnormally java.lang.RuntimeException: My id 5 not in the peer list
时间: 2024-04-26 12:23:40 浏览: 278
这是一个关于 ZooKeeper 的错误信息。ZooKeeper 是一个分布式协调服务,它通过集群中的多个服务器来保证高可用性。在这个错误中,它表明一个具有 ID 为 5 的节点被设置为 PARTICIPANT,但是它不在 QuorumPeers 列表中。这可能是由于配置文件中指定了错误的 ID 或者节点的网络连接出现了问题。要解决这个问题,你需要检查配置文件中节点的 ID 是否正确,并检查节点之间的网络连接是否正常。
相关问题
2023-06-08 21:13:49,372 [myid:] - INFO [main:QuorumPeerConfig@135] - Reading configuration from: /opt/module/apache-zookeeper-3.5.7/bin/../conf/zoo.cfg 2023-06-08 21:13:49,389 [myid:] - INFO [main:QuorumPeerConfig@387] - clientPortAddress is 0.0.0.0:2181 2023-06-08 21:13:49,389 [myid:] - INFO [main:QuorumPeerConfig@391] - secureClientPort is not set 2023-06-08 21:13:49,394 [myid:] - ERROR [main:QuorumPeerMain@89] - Invalid config, exiting abnormally org.apache.zookeeper.server.quorum.QuorumPeerConfig$ConfigException: Error processing /opt/module/apache-zookeeper-3.5.7/bin/../conf/zoo.cfg at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:156) at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:113) at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:82) Caused by: java.lang.IllegalArgumentException: myid file is missing at org.apache.zookeeper.server.quorum.QuorumPeerConfig.checkValidity(QuorumPeerConfig.java:736)
这段日志是Zookeeper启动时输出的,它显示了Zookeeper在读取配置文件时遇到了问题。具体来说,它指出了myid文件缺失,而这个文件是Zookeeper用来标识节点编号的文件。因此,Zookeeper无法根据配置文件正常启动。要解决这个问题,需要检查配置文件中是否正确设置了myid文件的路径,并且确保在该路径下存在myid文件。
2023-06-06 14:40:11,144 [myid:2] - ERROR [main:QuorumPeerMain@89] - Unexpected exception, exiting abnormally java.net.BindException: Address already in use at sun.nio.ch.Net.bind0(Native Method) at sun.nio.ch.Net.bind(Net.java:461)
这个错误通常是由于在同一台机器上启动了多个Zookeeper服务导致的。你可以通过以下步骤解决这个问题:
1. 首先,你可以使用以下命令检查当前正在运行的Zookeeper服务的进程:
```
ps aux | grep zookeeper
```
2. 如果你看到多个Zookeeper服务进程,则可以使用以下命令杀死这些进程:
```
sudo kill <PID>
```
其中,`<PID>`是Zookeeper服务进程的ID。
3. 如果你已经杀死了所有Zookeeper服务进程,但仍然遇到这个错误,则可能是因为之前的Zookeeper服务没有正常关闭而导致的。你可以尝试删除Zookeeper数据目录中的临时文件并重新启动Zookeeper服务。默认情况下,Zookeeper数据目录位于`/var/lib/zookeeper`。
```
sudo rm -rf /var/lib/zookeeper/version-2/*
sudo systemctl start zookeeper
```
启动Zookeeper服务后,你可以重新尝试连接服务并使用它。
阅读全文