Zookeeper学习(十二):Zookeeper启动异常-无法启动的分析(It is probably not running)

在文章 zookeeper启动失败的排错中描述了zookeeperd的一种启动错误,今天笔者还发现了另外一种启动错误,顺便记录下来:


一台测试的服务器重启后,运行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就能正常启动。

你可能感兴趣的:(Zookeeper学习(十二):Zookeeper启动异常-无法启动的分析(It is probably not running))