目录
- 一、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
1、下载安装单节点zk
下载安装教程:
2、建立四个文件夹
这四个文件夹用来存储持久化数据
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
通过cp命令一个一个复制
复制过后需要一个一个修改,需要修改的内容如下:
这块的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个节点查看状态的时候,可能会出现以下场景,记住要全启动完,再去查看状态!
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为主节点!
关于节点的选举机制,我会在下一篇文章当中讲解!
7、连接Zookeeper集群
这里也是,ip是网卡ip不是主机ip。
zkCli.sh -server 172.16.253.54:2181,172.16.253.54:2182,172.16.253.54:2183