zookeeper动态配置

2022-10-04 14:32:47 浏览数 (1)

环境

主机名

IP

zk01

192.168.1.195

zk02

192.168.1.197

zk03

192.168.1.203

zk04

192.168.1.204

下载zookeeper

代码语言:javascript复制
https://zookeeper.apache.org/从官网下载安装包

配置zk01、zk02、zk03

修改三个节点的主配置文件

代码语言:javascript复制
vim /data/zookeeper/conf/zoo.cfg

autopurge.purgeInterval=1
initLimit=10
syncLimit=5
skipACL=yes				# 跳过acl检查,如果不设置成yes,则需要superuser权限才能执行reconfig
maxClientCnxns=2000
tickTime=2000
dataDir=/data/zookeeper/data
dataLogDir=/data/zookeeper/log
4lw.commands.whitelist=*		# zookeeper可以响应的四个字母单次的命令有哪些,*表示所有四个字母命令
reconfigEnabled=true 			# 启用该功能后,zookeeper可以动态的增加服务器列表
dynamicConfigFile=/data/program/zookeeper/conf/zoo.cfg.dynamic

修改三个节点的动态配置文件

代码语言:javascript复制
vim /data/zookeeper/conf/zoo.cfg.dynamic

server.1=192.168.1.195:2888:3888;0.0.0.0:12181
server.2=192.168.1.197:2888:3888;0.0.0.0:12181
server.3=192.168.1.203:2888:3888;0.0.0.0:12181

创建三个节点的myid文件

代码语言:javascript复制
echo 1 > /data/zookeeper/data/myid		# zk01执行
echo 2 > /data/zookeeper/data/myid		# zk02执行
echo 3 > /data/zookeeper/data/myid		# zk03执行

启动三个节点的zookeeper

代码语言:javascript复制
/data/zookeeper/bin/zkServer.sh start		# 启动zookeeper
/data/zookeeper/bin/zkServer.sh stop		# 停止zookeeper
/data/zookeeper/bin/zkServer.sh status		# 查看启动状态

动态扩容

动态添加zk04节点

修改zk04节点的zoo.cfg.dynamic
代码语言:javascript复制
vim /data/zookeeper/conf/zoo.cfg.dynamic

			server.1=192.168.1.195:2888:3888;0.0.0.0:12181
server.2=192.168.1.197:2888:3888;0.0.0.0:12181
server.3=192.168.1.203:2888:3888;0.0.0.0:12181
server.4=192.168.1.204:2888:3888;0.0.0.0:12181
创建zk04的myid文件
代码语言:javascript复制
echo 4 > /data/zookeeper/data/myid
启动zk04
代码语言:javascript复制
/data/zookeeper/bin/zkServer.sh start
添加zk04到集群
代码语言:javascript复制
/data/zookeeper/bin/zkCli.sh -server 127.0.0.1:12181
[zk: 127.0.0.1:12181(CONNECTED) 1] reconfig -add 4=192.168.1.204:2888:3888;0.0.0.0:12181
[zk: 127.0.0.1:12181(CONNECTED) 1] config

执行完reconfig命令后,所有节点都生成一份新的配置文件zoo.cfg.dynamic.xxxxxx,并且zoo.cfg指向该dynamic文件

动态删除zk01节点

在任意一节点执行以下命令,删除zk01节点
代码语言:javascript复制
/data/zookeeper/bin/zkCli.sh -server 127.0.0.1:12181
[zk: 127.0.0.1:12181(CONNECTED) 1] reconfig -remove 1
[zk: 127.0.0.1:12181(CONNECTED) 1] config
停止zk01节点
代码语言:javascript复制
/data/zookeeper/bin/zkServer.sh stop

0 人点赞