磁盘空间不足导致zookeeper宕机

时间:2024-05-21 16:24:00

楔子

某服务需要使用Zookeeper作为配置管理和服务注册与发现,今天突然发现服务不可用,病症就是无法连接zk,服务不断的重试,报如下的错误。(zk版本为3.4.10 单机部署)
磁盘空间不足导致zookeeper宕机

定位

使用df -Th查看文件的使用情况 , 发现磁盘空间满了,使用du -sh *查看当前目录下各个文件及目录占用空间大小 ,发现有个日志文件占据了195G, oh my god!
磁盘空间不足导致zookeeper宕机
果断删除该文件。然后重启zk,依然不能重启,查看zk得日志,发现如下的报错信息:

ERROR org.apache.zookeeper.server.persistence.Util: Last transaction was partial.

意思就是由于磁盘空间满了导致Zookeeper的最后一次事务性操作不完整导致无法重启。则么办?

先查看zk的配置文件,查看dataLogDir的目录,如下:
磁盘空间不足导致zookeeper宕机
进入到该目录的version-2目录下,把大小为0(异常的)日志全部删除掉,文中已删除,然后就可重启成功,但是最后一个事务操作可能会破坏或者丢失。
磁盘空间不足导致zookeeper宕机
结果如下所示:
磁盘空间不足导致zookeeper宕机