我正在参加「掘金·启航计划」
网上对于第二个问题的解决办法都是 换更高的版本,其实不换也可以,其他的版本只是缺少lib文件而已。近期捣鼓了一个这个东西,发现也存在这些问题,使用的是win系统,linux 系统如果出现这些问题,应该也是 一样的道理。
问题1 :-Dzookeeper.log.dir= ....... 不是内部或外部命令,也不是可运行的程序或批处理文件。
call %JAVA% "-Dzookeeper.log.dir=%ZOO_LOG_DIR%" "-Dzookeeper.root.logger=%ZOO_LOG4J_PROP%" -cp "%CLASSPATH%" %ZOOMAIN% "%ZOOCFG%" %* 不是可以执行的命令或脚本
只需要把 zkServer.cmd 或者 .sh 文件中的 call %JAVA%改成 java (注:需要java已经配置了环境变量,如果没有配,可能java 也会出现 不是内部或外部命令,也不是可运行的程序或批处理文件 的提示)即可 (zkCli.cmd 里面的也需要改,不然也启动不了)
注:zookeeper启动控制台会闪退,可以在 zkServer.cmd 里面加一个 pause ,控制台就不会闪退了。zkCli.cmd 启动闪退一样的解决办法
问题2:找不到主类,org.apache.zookeeper.server.quorum.QuorumPeerMain
如果下载的是 3.5.5 之前的版本,解压后需要检查一下是否有 lib文件夹,我自己用的3.4.13 是没有lib文件夹的,所以才会显示启动找不到主类。可以随便找一个有lib文件夹的版本,在后面高版本的里面,选择一个 后缀带 -bin的地址,可以直接下这个,这个我试了,可以用。zookeeper 3.6.3 下载链接 。下载完成解压,直接把解压后得到的 lib 文件夹复制到 你使用的版本的文件目录即可。
总结
启动的顺序是 先点击 zkServer.cmd ,然后点zkCli.cmd ,两个都没有报错,就基本启动成功了,
可以使用 jps 命令查看一下,如果看到这个,就说明启动成功了。
zkServer.cmd 启动效果图
zkCli.cmd
个人踩坑记录,不喜勿喷