zookeeper 启动时一直报 :Starting zookeeper … FAILED TO START
环境
ubuntu16.04
zookeeper 3.5.6
问题一:
问题描述
搭建 zookeeper 伪集群,启动 zookeeper 时,一直报如下错误:
root@ubuntu:/usr/local/apache-zookeeper-3.5.6/bin# ./zkServer.sh start zoo1.cfg
ZooKeeper JMX enabled by default
Using config: /usr/local/apache-zookeeper-3.5.6/bin/…/conf/zoo1.cfg
Starting zookeeper … FAILED TO START
配置文件如下
以前搭建过无数次 zookeeper ,配置文件应该没有错误啊,为啥会一直起不来。有的帖子说删除 data 和 log 下面的所有数据,都尝试过,还是不行。
查看 /usr/local/apache-zookeeper-3.5.6 下面的 logs 文件,文件显示 如下:
Error: Could not find or load main class org.apache.zookeeper.server.quorum.QuorumPeerMain
猜测应该是没有找到启动类,应该是缺少某一个 jar 文件。
对比以前搭建的 zookeeper(3.4.9) ,以前的 zookeeper 安装路径下有一个 lib 目录,而 3.5.6 版本没有,将 lib 复制到到 3.5.6 版本的安装目录。
在次启动,还是失败,错误信息一样。
敲黑板(重点)
尝试了各种方法,发现 zookeeper 还是启动不成功,因此将 zookeeper 降低版本,使用 zookeeper 3.4.9 ,zookeeper 则正常启动。
问题二:
Destination Host Unreachable结解决办法
局域网内ping不通,出现如下问题:
From 192.168.0.101 icmp_seq=1 Destination Host Unreachable
From 192.168.0.101 icmp_seq=2 Destination Host Unreachable
From 192.168.0.101 icmp_seq=3 Destination Host Unreachable
总结:
解决方案一:
实际上应该是你下载错了文件。在官网上有两个tar.gz文件,从目前的最新版本3.5.5开始,带有bin名称的包才是我们想要的下载可以直接使用的里面有编译后的二进制的包,而之前的普通的tar.gz的包里面是只是源码的包无法直接使用。 亲测已解决。
解决方案二:
降低版本即可实现启动成功,本人使用zookeeper-3.4.10.tar.gz即可。
截图为证:
Zookeeper启动命令
启动命令
bin/zkServer.sh start
查看启动状态
bin/zkServer.sh status
查看服务器地址
ipconfig
进入Zookeeper客户端命令:
bin/zkCli.sh
查看已注册服务:
ls /services