启动异常
./zkServer.sh start执行后,查看状态是Error contacting service. It is probably not running.,服务未正常启动,观察zookeeper.out日志查找原因。
2021-03-10 16:42:09,926 [myid:1] - ERROR [main:Util@214] - Last transaction was partial.2021-03-10 16:42:09,929 [myid:1] - ERROR [main:QuorumPeer@693] - Unable to load database on diskjava.io.IOException: The accepted epoch, a is less than the current epoch, b at org.apache.zookeeper.server.quorum.QuorumPeer.loadDataBase(QuorumPeer.java:690) at org.apache.zookeeper.server.quorum.QuorumPeer.start(QuorumPeer.java:636) at org.apache.zookeeper.server.quorum.QuorumPeerMain.runFromConfig(QuorumPeerMain.java:170) at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:114) at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:81)2021-03-10 16:42:09,931 [myid:1] - ERROR [main:QuorumPeerMain@92] - Unexpected exception, exiting abnormallyjava.lang.RuntimeException: Unable to run quorum server at org.apache.zookeeper.server.quorum.QuorumPeer.loadDataBase(QuorumPeer.java:694) at org.apache.zookeeper.server.quorum.QuorumPeer.start(QuorumPeer.java:636) at org.apache.zookeeper.server.quorum.QuorumPeerMain.runFromConfig(QuorumPeerMain.java:170) at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:114) at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:81)Caused by: java.io.IOException: The accepted epoch, a is less than the current epoch, b at org.apache.zookeeper.server.quorum.QuorumPeer.loadDataBase(QuorumPeer.java:690) ... 4 more看到是启动无法在磁盘上加载数据库的错误信息
解决办法
进入zookeeper的data目录下
-rw-r--r-- 1 root root 2 Aug 31 2020 myiddrwxr-xr-x 2 root root 4096 Mar 10 17:04 version-2/-rw-r--r-- 1 root root 589144064 Nov 5 01:36 zookeeper.out-rw-r--r-- 1 root root 5 Mar 10 17:04 zookeeper_server.pid删除version-2目录或者剪切version-2目录并重新创建该目录,再次启动zookeeper服务就启动正常了。
zookeeper无法启动,报“Unable to load database on disk”
https://huoshen.pages.dev/cn/p/c6c63fbd/