zookeeper无故挂掉,启动不起来的问题

一台测试的服务器重启后,运行zookeeperd的启动脚本显示启动成功:

[plain] view plain copy
 
 
  1. JMX enabled by default  
  2. Using config: /data/programfiles/zookeeper-3.4.5/bin/../conf/zoo.cfg  
  3. Starting zookeeper ... STARTED  

但用zkServer.sh status查看,反馈如下:

[plain] view plain copy
 
 
  1. JMX enabled by default  
  2. Using config: /data/programfiles/zookeeper-3.4.5/bin/../conf/zoo.cfg  
  3. Error contacting service. It is probably not running.  


使用ps -aux|grep java命令也没看到任何进程,后来经过不断排查,终于发现了原因如下:

在zookeeper的配置文件zoo.cfg中:

[javascript] view plain copy
 
 
  1. dataDir=/data/installed  


在/data/installed里面查找zookeeper_server.pid这个文件,里面保存的是zookeeper的启动id,当服务器重启时zookeeper非正常退出,这个zookeeper_server.pid的值没有被清除,当执行zookeeper启动脚本时发现这个文件的值,就以为zookeeper已经启动。


解决方案:
把zookeeper_server.pid里面的内容清空,zookeeper就能正常启动。

原文地址:https://www.cnblogs.com/maohuidong/p/8407458.html