0
点赞
收藏
分享

微信扫一扫

docker-compose快速搭建Zookeeper集群


文章目录

  • ​​前言​​
  • ​​zoo.cfg配置详解​​
  • ​​Docker Compose来快速搭建Zookeeper集群​​
  • ​​配置文件介绍​​
  • ​​详细步骤​​
  • ​​参考文章​​

前言

所有博客文件目录索引:​​博客目录索引(持续更新)​​

若是对于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

2、创建docker compose文件:​​docker-compose-zookeepers.yml​

docker-compose快速搭建Zookeeper集群_zookeeper集群

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

docker-compose快速搭建Zookeeper集群_zookeeper集群_02

我们分别进入到zoo1、zoo2、zoo3中去查看当前它们各自的状态:

docker exec -it zoo2 /bin/bash  # 进入容器

cd bin # 进入bin目录

./zkServer.sh status # 查看当前服务状态

zoo1状态为follower:

docker-compose快速搭建Zookeeper集群_zookeeper集群_03

zoo2状态为follower:

docker-compose快速搭建Zookeeper集群_zookeeper_04

zoo3状态为leader:

docker-compose快速搭建Zookeeper集群_zookeeper集群_05

参考文章

[1]. ​​zoo.cfg配置详解​​

[2]. ​​ZooKeeper安装教程​​

[3]. ​​docker-compose快速构建zookeeper集群​​

[3]. ​​docker-compose快速构建zookeeper集群​​

[4]. [docker] docker-compose安装zookeeper集群


举报

相关推荐

0 条评论