在搭建zk集群时,总会出现zk集群无法启动的问题,今天在这里总结一下
几个重要的配置信息
zoo.cfg配置文件
server.1=pinyougou01:2888:3888 server.2=pinyougou02:2888:3888 server.3=pinyougou03:2888:3888
配置主机名和ip的映射,修改etc目录下的hosts文件和hostname文件
vi /etc/hosts 127.0.0.1 localhost 192.168.92.129 pinyougou01 192.168.92.130 pinyougou02 192.168.92.131 pinyougou03 vi /etc/hostname pinyougou01
错误信息:
Starting zookeeper ... STARTED [root@pinyougou01 bin]# ./zkServer.sh status ZooKeeper JMX enabled by default Using config: /itcast/zookeeper-3.4.14/bin/../conf/zoo.cfg Error contacting service. It is probably not running.
原因有以下几种:
1.data目录下myid文件没有进行修改
解决办法:切换到zk的date目录下,使用cat命令查看myid中的信息,将server01中的zk目录date文件夹中的myid文件改为1,以此类推,server02机器上的myid内容为2,server03机器上的myid为3.
[root@pinyougou01 ~]# cd /itcast/zookeeper-3.4.14/data/ [root@pinyougou01 data]# cat myid 1 [root@pinyougou01 data]#
2.在zoo.cfg文件中配置其他主机时,ip地址没有修改
写成主机名要修改etc目录下的hostname和hosts文件,配置主机名映射
3.防火墙没有关闭,zk无法建立选举机制,因此启动失败
使用的虚拟机镜像为centos7,则查看、禁用、关闭防火墙的命令为
Systemctl status firewalld --查看防火墙状态 Systemctl disable firewalld --禁用防火墙 Systemctl stop firewalld ----关闭防火墙
注:将防火墙关闭后,分别启动zk,当zk的节点没有启动到总数的半数以上时,查看zk的启动状态时显示的没有启动
当zk启动到半数以上时,会选举出leader,通过jps可以查看zk进程是否启动,通过zkserver.sh命令查看zk节点的状态
./zkserver.sh status
来源:51CTO
作者:龙-flagon
链接:https://blog.csdn.net/qq_36581384/article/details/101035151