现象
由于某种原因导致某个Zookeeper所在节点磁盘满了,导致当前节点Zookeeper宕机,然后当释放磁盘后,启动Zookeeper时显示Zookeeper无法启动,报错信息如下,
2017-09-03 20:03:30,999 ERROR org.apache.zookeeper.server.quorum.QuorumPeer: Unable to load database on disk
java.io.EOFException
...
2017-09-03 20:03:31,012 ERROR org.apache.zookeeper.server.quorum.QuorumPeerMain: Unexpected exception, exiting abnormally
java.lang.RuntimeException: Unable to run quorum server
...
Caused by: java.io.EOFException
...
解决
清空Zookeeper目录下的version-2,然后重启Zookeeper生效
[root@datanode07 ~]# cd /var/lib/zookeeper/
[root@datanode07 zookeeper]# cp -r version-2 version-2-bak
[root@datanode07 zookeeper]#
[root@datanode07 zookeeper]# rm -rf version-2/*
[root@datanode07 zookeeper]# ll
total 8
-rw-r--r-- 1 zookeeper zookeeper 2 Sep 4 12:04 myid
drwxr-xr-x 2 zookeeper zookeeper 6 Sep 4 12:05 version-2
drwxr-xr-x 2 root root 4096 Sep 4 12:05 version-2-bak