目录

  • 一、Zookeeper集群⻆⾊
  • 二、集群搭建
  • 1、下载安装单节点zk
  • 2、建立四个文件夹
  • 3、创建4个节点的myid,并设值
  • 4、编写4个zoo.cfg
  • 5、启动4台Zookeeper
  • 6、查看zk每个节点状态
  • 7、连接Zookeeper集群


一、Zookeeper集群⻆⾊

zookeeper集群中的节点有三种⻆⾊

  • Leader:处理集群的所有事务请求,集群中只有⼀个Leader。
  • Follower:只能处理读请求,参与Leader选举。
  • Observer:只能处理读请求,提升集群读的性能,但不能参与Leader选举。

二、集群搭建

本次我们要搭建4个节点,其中⼀个节点为Observer

zookeeper 的myid与server id_zookeeper

1、下载安装单节点zk

下载安装教程:

2、建立四个文件夹

这四个文件夹用来存储持久化数据

zookeeper 的myid与server id_linux_02

3、创建4个节点的myid,并设值

echo 1 > myid:这个命令就是在当前文件夹下创建myid文件,并赋值1

/data/zookeeper/data/zk1# echo 1 > myid
/data/zookeeper/data/zk2# echo 2 > myid
/data/zookeeper/data/zk3# echo 3 > myid
/data/zookeeper/data/zk4# echo 4 > myid

4、编写4个zoo.cfg

zookeeper 的myid与server id_网络_03

通过cp命令一个一个复制

zookeeper 的myid与server id_zookeeper_04

复制过后需要一个一个修改,需要修改的内容如下:

这块的ip一定要注意,ip是用的ip addr查出来的网卡ip,而不是主机ip。主机ip就是使用xshell连接linux的ip。

这里的server.1、server.2其实就是跟上面我们创建的myid文件当中的内容是相关联的!

#存放数据文件夹(修改对应的zk1 zk2 zk3 zk4)
dataDir=/data/zookeeper/data/zk1
#添加日志存放文件夹(修改对应的zk1 zk2 zk3 zk4)
dataLogDir=/data/zookeeper/data/zk1/dataLog
# 修改对应的端⼝ 2181 2182 2183 2184
clientPort=2181
# 2001为集群通信端⼝,3001为集群选举端⼝,observer表示不参与集群选举,ip换自己linuxip
server.1=172.16.253.54:2001:3001
server.2=172.16.253.54:2002:3002
server.3=172.16.253.54:2003:3003
server.4=172.16.253.54:2004:3004:observer

5、启动4台Zookeeper

启动的时候要保证防火墙是关闭状态

由于配置了环境变量,所以直接可以在任何文件夹下执行启动命令!

zkServer.sh start /data/zookeeper/conf/zoo1.cfg
zkServer.sh start /data/zookeeper/conf/zoo2.cfg
zkServer.sh start /data/zookeeper/conf/zoo3.cfg
zkServer.sh start /data/zookeeper/conf/zoo4.cfg

6、查看zk每个节点状态

当只启动1个节点查看状态的时候,可能会出现以下场景,记住要全启动完,再去查看状态!

zookeeper 的myid与server id_下载安装_05

zkServer.sh status /data/zookeeper/conf/zoo1.cfg
zkServer.sh status /data/zookeeper/conf/zoo2.cfg
zkServer.sh status /data/zookeeper/conf/zoo3.cfg
zkServer.sh status /data/zookeeper/conf/zoo4.cfg

通过状态会发现2被选择为了主节点,这就是通过选举机制选择出来的2为主节点!

关于节点的选举机制,我会在下一篇文章当中讲解!

zookeeper 的myid与server id_单节点_06

7、连接Zookeeper集群

这里也是,ip是网卡ip不是主机ip。

zkCli.sh -server 172.16.253.54:2181,172.16.253.54:2182,172.16.253.54:2183