解决Zookeeper启动zkServer.cmd闪退问题

主要提供一种解决启动zKServer.cmd闪退的解决思路,遇到相似的问题,均可以采用如下的思路解决。java

缘由定位

编辑zkServer.cmd文件,在末尾添加pause 。这样运行出错就不会退出,会提示错误信息,方便找到缘由。例如缘由以下:
错误提示web

图中显示Invalid config, exiting abnormally 无效的配置文件,初步判断多是配置的问题。服务器

排查

到zookeeper目录中找conf\zoo.cfg ,没有找到此文件,但找到zoo_sample.cfg ,文件部份内容以下图。这个是一些zookeeper服务器的参数配置样板,zookeeper的配置能够参考这个文件。
zoo_sample.cfg文件svg

解决

以上分析,须要重要配置zoo.cfg 的路径文件。
编辑zkEnv.cmd 文件(该文件是环境配置,如文件夹目录等。通常启动出错是在因为环境变量配置致使相关文件查找不到,只须要在其中配置相关变量便可),改变ZOOCFG 的值为%ZOOCFGDIR%\zoo_sample.cfg 便可。ui

set CLASSPATH=%ZOOCFGDIR%

REM make it work in the release
SET CLASSPATH=%~dp0..\*;%~dp0..\lib\*;%CLASSPATH%

REM make it work for developers
SET CLASSPATH=%~dp0..\build\classes;%~dp0..\build\lib\*;%CLASSPATH%

set ZOOCFG=%ZOOCFGDIR%\zoo_sample.cfg

@REM setup java environment variables

if not defined JAVA_HOME (
  echo Error: JAVA_HOME is not set.
  goto :eof
)