Open Source, Open Future!
  menu
107 文章
ღゝ◡╹)ノ❤️

zookeeper--单机模式和集群模式

单机模式

安装过程

1、下载安装包放在/opt目录下
2、解压安装包

tar xzvf  zookeeper-3.4.14.tar.gz

3、zookeeper-3.4.14/conf路径下的文件zoo_sample.cfg改名为zoo.cfg

mv zoo_sample.cfg  zoo.cfg

4、打开文件zoo.cfg

vim zoo.cfg

5、修改参数dataDir,改为以下内容:

dataDir=/opt/zookeeper-3.4.14/zkData

6、zookeeper-3.4.14目录下新建目录zkData

mkdir zkData

测试

1、启动zookeeper

./bin/zkServer.sh start

image.png
可以看到默认会自动读取zoo.cfg配置文件
2、查看状态

./bin/zkServer.sh status

image.png
standalone:表示处于单机模式
3、退出

./bin/zkServer.sh stop

image.png

集群模式

在192.168.1.201、192.168.1.202、192.168.1.203三台服务器上部署zookeeper
在单机模式的基础上添加一下步骤:
1、在目录zkData下新建文件myid

touch myid

2、在文件myid中添加server对应的编号(可以随便写,但必须保证在集群中是唯一的,比如192.168.1.201为1,192.168.1.201为2,192.168.1.201为3)
image.png
3、编辑文件zoo.cfg,添加以下内容:

server.1=192.168.1.201:2888:3888
server.2=192.168.1.202:2888:3888
server.3=192.168.1.203:2888:3888

参数解释:
server.A=B:C:D
A:myid中对应的值
B:服务器地址
C:这个服务器与集群Leader交换信息的端口
D:集群Leader挂了后,用于选举时相互通信的端口

测试

1、启动192.168.1.201上的zookeeper

./zkServer.sh start

2、查看状态

./zkServer.sh status

image.png
集群不能正常工作
3、启动192.168.1.202上的zookeeper,并查看状态
image.png
可以看到状态为leader
4、查看192.168.1.201上的zookeeper状态
image.png
5、启动192.168.1.203上的zookeeper,并查看状态
image.png

总结

1、192.168.1.201上的zookeeper启动时,会给自己投票,因为只有一个节点,只能得到一票,少于半数,所以集群不能正常工作;
2、192.168.1.202启动时,会给自己投票,同时因为192.168.1.202对应的myid比192.168.1.201大,所以192.168.1.201也将票投给192.168.1.202,此时192.168.1.202得到2票,大于半数,所以成为leader,192.168.1.201更改状态为follower
2、192.168.1.203启动时,给自己投票,虽然192.168.1.202对应的myid是最大的,但是此时leader已经确定,其他节点不会给他投票,所以竞争leader失败,成为follower。