关于在windows中zookeeper闪退

本人用的版本是 apache-zookeeper-3.7.0-bin

网上说是在zkServer.cmd最后一行加入pause,就可以看到错误信息,然而我加了后,执行zkServer.cmd也还是闪退。然后百度发现pause是起到一个暂停的作用,如果在执行到之前bat就退出了,就没意义了,所以我穿插在所有行都写入一个pause,发现执行到这一行时闪退

call "%~dp0zkEnv.cmd"

这里表示是调用了zkEnv.cmd,于是我又在这个bat中每一有效行穿插pause,然后直接执行zkEnv.cmd,发现执行到这个if判断时闪退

if not exist "%JAVA_HOME%"\bin\java.exe (
  echo Error: JAVA_HOME is incorrectly set: %JAVA_HOME%
  echo Expected to find java.exe here: %JAVA_HOME%\bin\java.exe
  goto :eof
)

在这个判断前使用echo打印:

echo "%JAVA_HOME%\bin\java.exe"

打印结果发现jdk位置是正确的:

C:\Program Files (x86)\Java\jdk1.8.0_201\bin\java.exe

然后我怀疑是Program Files (x86)这个路径存在空格或者是括号啥的特殊字符,导致无法正常识别,为了排查,复制一份java目录及其下所有文件到D盘根目录,在bat中set后再echo打印:

set JAVA_HOME=D:\Java\jdk1.8.0_201
echo "%JAVA_HOME%\bin\java.exe"

打印结果:

"D:\Java\jdk1.8.0_201\bin\java.exe"

这次终于不闪退了

 综上来说,得出结论:

1.JAVA JDK 的路径尽量不要带有特殊字符、中文字符等识别会出错的字符

2.bat中不是写上了pause就一定能阻止强退的,一定要搞清楚强退的原因,才能对症下药。必要的时候每一有效行的后一行都加pause,来定位出错的位置,再进一步解决问题

后续我这边报的错为无效配置(invalid config exiting abnormally

参考这位朋友的文章,问题得到解决

zkServer.cmd报错invalid config exiting abnormally解决_sinat_36748650的博客-CSDN博客在zookeeper的conf文件目录下新建zoo.cfg,把zoo_sample.cfg的内容复制到这里面去修改里面内容:dataDir=f:\java study\datadataLogDir=f:\java study\log其中自己创建data和log目录,将对应路径写在zoo.cfg即可。...https://blog.csdn.net/sinat_36748650/article/details/85807716

再后续,Windows中要把zoo.cfg或zoo_sample.cfg(我这边改的是zoo.cfg)中的dataDir值变更,因为该值我这边默认是linux系统的路径,要注意用目录路径用\\

dataDir=D:\\apache-zookeeper-3.7.0-bin\\data

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值