主机名 | IP |
---|---|
zk01 | 192.168.1.195 |
zk02 | 192.168.1.197 |
zk03 | 192.168.1.203 |
zk04 | 192.168.1.204 |
https://zookeeper.apache.org/从官网下载安装包
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
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
echo 1 > /data/zookeeper/data/myid # zk01执行
echo 2 > /data/zookeeper/data/myid # zk02执行
echo 3 > /data/zookeeper/data/myid # zk03执行
/data/zookeeper/bin/zkServer.sh start # 启动zookeeper
/data/zookeeper/bin/zkServer.sh stop # 停止zookeeper
/data/zookeeper/bin/zkServer.sh status # 查看启动状态
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
echo 4 > /data/zookeeper/data/myid
/data/zookeeper/bin/zkServer.sh start
/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文件
/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
/data/zookeeper/bin/zkServer.sh stop