栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

关于在windows中zookeeper闪退

关于在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%"binjava.exe (
  echo Error: JAVA_HOME is incorrectly set: %JAVA_HOME%
  echo Expected to find java.exe here: %JAVA_HOME%binjava.exe
  goto :eof
)

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

echo "%JAVA_HOME%binjava.exe"

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

C:Program Files (x86)Javajdk1.8.0_201binjava.exe

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

set JAVA_HOME=D:Javajdk1.8.0_201
echo "%JAVA_HOME%binjava.exe"

打印结果:

"D:Javajdk1.8.0_201binjava.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 studydatadataLogDir=f:java studylog其中自己创建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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/745368.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号