通过命令:ZkServer.sh status查看zookeeper状态显示以下错误
1. Mode: standalone
zookeeper处于单机模式,说明此时zookeeper的zoo.cfg文件配置有问题
2. Error contacting service. It is probably not running.
(1)由于我们总共使用三个zookeeper服务器,所以会涉及到zookeeper之间的 选举 问题
- 因此我们需要同时在三个zookeeper中运行 zkServer.sh start 之后再查看状态
(2)最普遍配置问题就是因为 防火墙 未关闭,导致zookeeper之间不能相互连接
systemctl stop firewalld #停止firewall防火墙
systemctl disable firewalld #关闭启动时自动开启firewall防火墙
systemctl status firewalld #查看firewall状态
一般关闭防火墙问题就可以解决
(3)如果以上两种方法使用后仍然报错,那么就是zoo.cfg文件的问题 2888
- 打开自己的 zoo.cfg 文件,以下的是我的zoo.cfg文件配置位置
vi /training/zookeeper/conf/zoo.cfg
- zoo.cfg中的配置需要是 必须使用server.1/server.2/server.3 = 端口号:2888:3888
- 查看 myid 文件,以下的是我的 myid 文件配置位置
vi /training/zookeeper/data/myid
- server.1对应的端口的myid文件中要填写1
- server.2对应的端口的myid文件中要填写2
- server.3对应的端口的myid文件中要填写3
做完上述操作,重启zookeeper: zkServer.sh restart ,之后再次查看状态就可以啦
如果上述操作结束后仍然报错,那么就查看自己以下文件的格式是否正确
- zoo.cfg文件
- myid文件
- hosts文件
有些文件中的配置需要顶格写,否则也可能出现错误。