Mac(M1)搭建Zookeeper集群
创作时间:
作者:
@小白创作中心
Mac(M1)搭建Zookeeper集群
引用
CSDN
1.
https://blog.csdn.net/woodpecker8/article/details/129026630
本文将详细介绍如何在MacBook M1上使用Docker搭建Zookeeper集群。内容包括Zookeeper版本选择、镜像拉取、单机部署和集群部署的具体步骤。
ZK版本选择
Zookeeper官网地址:https://zookeeper.apache.org/
目前最新的稳定版本是3.7.1,故本文使用3.7.1版本。
镜像拉取
docker pull zookeeper:3.7.1
单机部署
创建挂载目录
# 进入终端用户的根路径
cd ~
# 创建目录
mkdir myZK
cd myZK
mkdir data conf logs
# 查看绝对路径,docker挂载目录建议使用绝对路径
pwd
编辑配置文件
cd ~
cd myZK/conf
vim zoo.cfg
配置内容如下:
dataDir=/data
clientPort=2181
dataLogDir=/datalog
tickTime=2000
initLimit=5
syncLimit=2
autopurge.snapRetainCount=3
autopurge.purgeInterval=0
maxClientCnxns=60
standaloneEnabled=true
admin.enableServer=true
server.1=localhost:2888:3888;2181
启动容器
docker run -d \
--name zk-simple \
--privileged=true \
-p 2181:2181 \
-v $HOME/myZK/data:/data \
-v $HOME/myZK/conf:/conf \
-v $HOME/myZK/logs:/datalog \
zookeeper:3.7.1
结果验证
# 进入容器内
docker exec -it zk-simple /bin/bash
# 查看状态
./bin/zkServer.sh status
# 执行客户端脚本,进入控制台
docker exec -it zk-simple zkCli.sh
集群部署
创建挂载目录
# 进入终端用户的根路径
cd ~
# 创建目录
mkdir myZK
cd myZK
mkdir -p zk1/conf zk1/data zk1/logs
mkdir -p zk2/conf zk2/data zk2/logs
mkdir -p zk3/conf zk3/data zk3/logs
# 查看绝对路径,docker挂载目录建议使用绝对路径
pwd
自定义子网IP
# 创建子网 zknet
docker network create --driver bridge --subnet=172.18.0.0/16 --gateway=172.18.0.1 zknet
# 查看网络列表
docker network ls
# 查看网络详情
docker network inspect <NETWORK ID>
编辑配置文件
zoo.cfg
cd ~
cd myZK/conf
vim zk1/conf/zoo.cfg
vim zk2/conf/zoo.cfg
vim zk3/conf/zoo.cfg
配置内容如下:
# zk-cluster-1
dataDir=/data
clientPort=2181
dataLogDir=/datalog
tickTime=2000
initLimit=5
syncLimit=2
autopurge.snapRetainCount=3
autopurge.purgeInterval=0
maxClientCnxns=60
standaloneEnabled=true
admin.enableServer=true
server.1=172.18.0.2:2888:3888
server.2=172.18.0.3:2888:3888
server.3=172.18.0.4:2888:3888
# zk-cluster-2
dataDir=/data
clientPort=2181
dataLogDir=/datalog
tickTime=2000
initLimit=5
syncLimit=2
autopurge.snapRetainCount=3
autopurge.purgeInterval=0
maxClientCnxns=60
standaloneEnabled=true
admin.enableServer=true
server.1=172.18.0.2:2888:3888
server.2=172.18.0.3:2888:3888
server.3=172.18.0.4:2888:3888
# zk-cluster-3
dataDir=/data
clientPort=2181
dataLogDir=/datalog
tickTime=2000
initLimit=5
syncLimit=2
autopurge.snapRetainCount=3
autopurge.purgeInterval=0
maxClientCnxns=60
standaloneEnabled=true
admin.enableServer=true
server.1=172.18.0.2:2888:3888
server.2=172.18.0.3:2888:3888
server.3=172.18.0.4:2888:3888
myid
cd ~
cd myZK/conf
# myid文件中配置的内容分别为1,2,3
vim zk1/conf/myid
vim zk2/conf/myid
vim zk3/conf/myid
启动容器
查看端口是否被占用
lsof -i:2181
# 启动容器1
docker run -d \
--name zk-cluster-1 \
--privileged=true \
-p 2181:2181 \
--network zknet --ip 172.18.0.2 \
-v $HOME/myZK/zk1/data:/data \
-v $HOME/myZK/zk1/conf:/conf \
-v $HOME/myZK/zk1/logs:/datalog \
zookeeper:3.7.1
# 启动容器2
docker run -d \
--name zk-cluster-2 \
--privileged=true \
-p 2182:2181 \
--network zknet --ip 172.18.0.3 \
-v $HOME/myZK/zk2/data:/data \
-v $HOME/myZK/zk2/conf:/conf \
-v $HOME/myZK/zk2/logs:/datalog \
zookeeper:3.7.1
# 启动容器3
docker run -d \
--name zk-cluster-3 \
--privileged=true \
-p 2183:2181 \
--network zknet --ip 172.18.0.4 \
-v $HOME/myZK/zk3/data:/data \
-v $HOME/myZK/zk3/conf:/conf \
-v $HOME/myZK/zk3/logs:/datalog \
zookeeper:3.7.1
验证
# 进入容器内
docker exec -it zk-cluster-1 /bin/bash
# 查看状态
./bin/zkServer.sh status
参考资料
热门推荐
孙悟空究竟有多强?精通“六大顶级神通”,“七十二变”只是垫底
豆瓣评分最高的十大国产综艺
三支一扶报名入口官网的网址是什么?
802.11k/v/r协议详解:无线网络优化的关键技术
三八不是什么女生节,也不是女神节,请不要将妇女节污名化
牛肉属于低脂肪还是高脂肪
《守望先锋》新英雄"艾什"登场:精于算计的帮派首脑
如何利用工时考勤表自动计算提高工作效率?
离婚房产分割的六大原则
“智慧城管”:非现场执法助力街面长效管控
刑事犯罪记录指的是哪些
绿色发展|构建可持续供应链:应对政策浪潮,迈向净零目标
恋爱分手后财产纠纷处理指南:律师教你如何应对借款追讨和礼物返还问题
中国科学院院士薛其坤:如果找到室温超导材料,或能用磁悬浮方式将建筑物迁移
网络摄像头如何存到云盘
北京朝阳医院团队在肝脏免疫研究领域取得重要突破
打造高转化率产品着陆页的完整指南:提升转化的必备要素与优化策略
婚姻给了女性什么影响:婚姻对女性产生的影响
6种最健康的无麸质面包,3种要避免
智能巡检机器人创新设计的关键技术
俄罗斯的国花和国树:向日葵与白桦,为何如此受俄罗斯人青睐?
木桶浴:是放松还是陷阱?如何选择正规足疗店?
警钟长鸣,廉洁自律:构建良好警风的重要保障
三本经典社交类书籍推荐
2025年必看番剧,有你最期待的吗?
链式求导法则与反向传播原理详解
开办学生住宿托管需要什么手续?
高血压辅助决策系统干预效果—整群随机对照研究
黑种人、白种人和黄种人之间,为什么不存在生殖隔离?
五大联赛不败夺冠有多难?勒沃库森历史第4队,阿森纳创英超神迹