zookeeper集群搭建
首先准备三台虚拟机,三台机器所有配置是一样的,这里以node1节点为例
ip地址 | 主机名 |
192.168.1.201 | node1 |
192.168.1.202 | node2 |
192.168.1.203 | node3 |
关闭防火墙
systemctl stop firewalld.service
修改/etc/hosts文件添加如下内容
192.168.1.201 node1
192.168.1.202 node2
192.168.1.203 node3
下载zookeeper安装包 zookeeper-3.4.12.tar.gz,并解压到/usr/local目录下
进入到/usr/local/zookeeper-3.4.12/conf目录下,将zoo_sample.cfg文件名改成zoo.cfg
编辑zoo.cfg,添加如下内容
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
端口的作用 2181 对client端提供服务 2888 集群内及其通讯使用的端口 3888 集群选举leader
进入到/usr/local/zookeeper-3.4.12目录下,创建data文件夹,并在data文件夹目录里创建myid文件,然后编辑myid文件,内容输入1(第二个节点内容为2,第三个节点内容为3)
进入到/usr/local/zookeeper-3.4.12/bin目录下,对所有文件添加执行权限
到这一步,我已经把三台机器都配置完毕了
现在依次启动三台机器的zookeeper服务 ./zkServer.sh status
查看201机器的zookeeper角色为follower
查看202机器的zookeeper角色为leader
查看203机器的zookeeper角色为follower
现在我们模拟leader服务(202服务)宕机,使用kill命令杀掉主进程,再查看zookeeper状态已经是宕机状态了,如下图所示
现在再查看下201和203机器的角色
我们可以看到203机器的角色是leader,所以我们可以得出结论,当leader服务宕机后,会从剩下的follower角色中选举出一个新的leader