异常

启动zookeeper后查看zookeeper状态,结果如下:

[root@centos7_101 bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/zookeeper-3.5.7/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Error contacting service. It is probably not running.

原因1

注:当前Linux环境是 CentOS7,所以可以通过如下命令控制防火墙,如果是其他Linux系统,那么下面的命令很可能不成功,就需要换成对应系统的命令。

因为是集群环境,有三台服务器都部署了zookeeper。可能是防火墙没有关闭。执行 systemctl status firewalld.service 命令查看当前服务器的防火墙状态。
在这里插入图片描述
那么执行 systemctl stop firewalld.service 命令关闭防火墙。
在这里插入图片描述
如果执行 systemctl disable firewalld.service 命令可以永久关闭防火墙。

原因2

由于是虚拟机IP地址变化,而在zookeeper安装目录下的conf目录下的zoo.cfg文件中配置的集群服务器IP地址并未变化:
在这里插入图片描述

解决1

关闭掉集群中所有服务器的防火墙。关闭zookeeper后,再次重启,然后查看zookeeper状态,成功:
在这里插入图片描述

解决2

zoo.cfg文件中配置修改为对应服务器的IP地址。

参考资料:

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐