总结:整理不易,如果对你有帮助,可否点赞关注一下?
更多详细内容请参考:《Linux运维篇:Linux系统运维指南》
一、部署背景
由于业务系统的特殊性,我们需要面对不同的客户部署业务系统,zookeeper作为重要的一环,为了更快捷有效的部署zookeeper,这里编写了基于x86_64架构一键离线docker容器版zookeeper 3.8.4集群工具。
docker版本 | docker-compose版本 |
---|---|
26.1.3 | v2.29.0 |
二、工具介绍
一键部署工具实现功能如下:
1、支持单机部署(1 zookeeper)。
2、支持单机伪集群部署(3 zookeeper)。
3、支持多机分布式机部署(3 zookeeper)。
4、支持数据目录、端口、JVM内存。
5、支持zookeeper配置文件、数据目录持久化。
6、支持部署、启动、停止、卸载、检测等操作。
三、工具下载
基于x86_64架构CPU使用docker-compose一键离线部署zookeeper 3.8.4分布式集群工具
四、部署步骤
说明:这里就只演示,在3台主机上部署zookeeper 3.8.4集群。
1、查看帮助命令
2、编辑变量文件
说明:变量文件内容3台主机需相同。
[root@ecs-ed54-0001 zookeeper]# cp cluster.conf.tpl cluster.conf
[root@ecs-ed54-0001 zookeeper]# vim cluster.conf
# 建议填写为当前磁盘最大存储空间目录,如果系统盘空间最大,建议填写为/data,如果挂在盘空间最大,建议填写为挂载目录
export BASE_DIR="/data"# zoo1主机内网IP/端口,端口不冲突情况下,建议不修改
export ZOO1_HOST="192.168.1.111"
export ZOO1_CLIENT_PORT="2181" #对cline端提供服务
export ZOO1_PEER_PORT="2886" #集群内机器通讯使用,Leader监听此端口
export ZOO1_ELECTION_PORT="3886" #选举leader使用# zoo2主机内网IP/端口,端口不冲突情况下,建议不修改
export ZOO2_HOST="192.168.1.112"
export ZOO2_CLIENT_PORT="2182" #对cline端提供服务
export ZOO2_PEER_PORT="2887" #集群内机器通讯使用,Leader监听此端口
export ZOO2_ELECTION_PORT="3887" #选举leader使用# zoo3主机内网IP/端口,端口不冲突情况下,建议不修改
export ZOO3_HOST="192.168.1.113"
export ZOO3_CLIENT_PORT="2183" #对cline端提供服务
export ZOO3_PEER_PORT="2888" #集群内机器通讯使用,Leader监听此端口
export ZOO3_ELECTION_PORT="3888" #选举leader使用# zookeeper客户端JVM的最大堆内存大小,根据实际需求修改,单位是m,只需填写数值即可
export ZK_CLIENT_HEAP=512# zookeeper服务器JVM的最大堆内存大小,根据实际需求修改,单位是m,只需填写数值即可,ZK_SERVER_HEAP值必须远远大于ZK_CLIENT_HEAP值
export ZK_SERVER_HEAP=2048# 数据存储目录,默认不修改
export ZOO_DATA_DIR="${BASE_DIR}/basic-data"
3、执行一键部署
1、主机节点1部署
[root@ecs-ed54-0001 zookeeper]# ./op.sh build zoo1
执行结果,如下图所示:
2、主机节点2部署
[root@ecs-ed54-0001 zookeeper]# ./op.sh build zoo2
执行结果,如下图所示:
3、主机节点3部署
[root@ecs-ed54-0001 zookeeper]# ./op.sh build zoo3
执行结果,如下图所示:
五、其它操作
5.1、启动
说明:分别在对应主机节点上执行。
[root@ecs-ed54-0001 zookeeper]# ./op.sh start zoo1
[root@ecs-ed54-0002 zookeeper]# ./op.sh start zoo2
[root@ecs-ed54-0003 zookeeper]# ./op.sh start zoo3
5.2、停止
说明:分别在对应主机节点上执行。
[root@ecs-ed54-0001 zookeeper]# ./op.sh stop zoo1
[root@ecs-ed54-0002 zookeeper]# ./op.sh stop zoo2
[root@ecs-ed54-0003 zookeeper]# ./op.sh stop zoo3
5.3、检查
说明:分别在对应主机节点上执行。
[root@ecs-ed54-0001 zookeeper]# ./op.sh check zoo1
[root@ecs-ed54-0002 zookeeper]# ./op.sh check zoo2
[root@ecs-ed54-0003 zookeeper]# ./op.sh check zoo3
执行结果,如下图所示:
5.4、卸载
说明:分别在对应主机节点上执行。
[root@ecs-ed54-0001 zookeeper]# ./op.sh clear zoo1
[root@ecs-ed54-0002 zookeeper]# ./op.sh clear zoo2
[root@ecs-ed54-0003 zookeeper]# ./op.sh clear zoo3
总结:整理不易,如果对你有帮助,可否点赞关注一下?
更多详细内容请参考:《Linux运维篇:Linux系统运维指南》