起動例外

./zkServer.sh start を実行すると、ステータスが「サービスへの接続中にエラーが発生しました。おそらく実行されていません。」と表示されます。サービスが正常に開始されなかった理由を確認するには、「zookeeper.out」ログを確認してください。

Terminal window
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 disk
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)
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 abnormally
java.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

起動時にデータベースをディスクにロードできないというエラー メッセージが表示されます。

解決

飼育員のデータディレクトリに入る

Terminal window
-rw-r--r-- 1 root root 2 Aug 31 2020 myid
drwxr-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

バージョン 2 ディレクトリを削除するか、バージョン 2 ディレクトリを削除して再作成すると、zookeeper サービスが正常に開始されます。