docker-compose快速搭建Zookeeper集群
【摘要】 之前手动去搭建zookeeper集群的需要对两个配置文件进行配置如下:1、配置myid文件,表示唯一的服务标号。100在docker compse中我们可以直接在配置文件中指定即可。
@[toc]
前言
所有博客文件目录索引:博客目录索引(持续更新)
若是对于docker-compose不太熟悉的可看这篇文章:Docker Compose快速入门及实战。
zoo.cfg配置详解
#ZK中的时间配置最小但域,其他时间配置以整数倍tickTime计算
tickTime=2000
#Leader允许Follower启动时在initLimit时间内完成数据同步,单位:tickTime
initLimit=10
#Leader发送心跳包给集群中所有Follower,若Follower在syncLimit时间内没有响应,那么Leader就认为该follower已经挂掉了,单位:tickTime
syncLimit=5
#配置ZK的数据目录
dataDir=/usr/local/zookeeper/data
#用于接收客户端请求的端口号
clientPort=2181
#配置ZK的日志目录
dataLogDir=/usr/local/zookeeper/logs
#ZK集群节点配置,端口号2888用于集群节点之间数据通信,端口号3888用于集群中Leader选举
server.1=192.168.123.100:2888:3888
server.2=192.168.123.101:2888:3888
server.3=192.168.123.102:2888:3888
Docker Compose来快速搭建Zookeeper集群
配置文件介绍
之前手动去搭建zookeeper集群的需要对两个配置文件进行配置如下:
1、配置myid文件,表示唯一的服务标号。
100
2、配置zoo.cfg的配置信息,示例如下:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/zkData
clientPort=2181
server.100=127.0.0.1:2181:3888
server.200=127.0.0.1:2182:3888
server.300=127.0.0.1:2183:3888
在docker compse中我们可以直接在配置文件中指定即可。
详细步骤
dockerhub-zookeeper:参考官方的docker-compose配置文件
1、拉取镜像:
docker pull zookeeper:3.8.0
2、创建docker compose文件:docker-compose-zookeepers.yml
version: '3.1'
networks:
zk-net:
name: zk-net # 网络名
services:
zoo1:
image: zookeeper:3.8.0
container_name: zoo1 # 容器名称
restart: always # 开机自启
hostname: zoo1 # 主机名
ports:
- 2181:2181 # 端口号
environment:
ZOO_MY_ID: 1
ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181
networks:
- zk-net
zoo2:
image: zookeeper:3.8.0
container_name: zoo2
restart: always
hostname: zoo2
ports:
- 2182:2181
environment:
ZOO_MY_ID: 2
ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181
networks:
- zk-net
zoo3:
image: zookeeper:3.8.0
container_name: zoo3
restart: always
hostname: zoo3
ports:
- 2183:2181
environment:
ZOO_MY_ID: 3
ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181
networks:
- zk-net
3、运行服务
在对应的dockerfiles文件目录下运行命令:
# -f表示指定某个配置文件名 -d:表示后台启动
docker-compose -f docker-compose-zookeepers.yml up -d
我们分别进入到zoo1、zoo2、zoo3中去查看当前它们各自的状态:
docker exec -it zoo2 /bin/bash # 进入容器
cd bin # 进入bin目录
./zkServer.sh status # 查看当前服务状态
zoo1状态为follower:
zoo2状态为follower:
zoo3状态为leader:
参考文章
[1]. zoo.cfg配置详解
[2]. ZooKeeper安装教程
[3]. docker-compose快速构建zookeeper集群
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)