用于Docker Compose部署ZooKeeper集群的yaml文件:

version: '3'
networks:zookeeper-networks:driver: bridgeservices:zookeeper1:image: zookeepercontainer_name: zookeeper1restart: alwaysports:- 9001:2181volumes:- "/usr/local/docker-compose/zookeeper/zookeeper1/data:/data"- "/usr/local/docker-compose/zookeeper/zookeeper1/datalog:/datalog"- "/usr/local/docker-compose/zookeeper/zookeeper1/logs:/logs"- "/usr/local/docker-compose/zookeeper/zookeeper1/conf:/conf"environment:ZOO_MY_ID: 1ZOO_SERVERS: server.1=zookeeper1:2888:3888 server.2=zookeeper2:2888:3888 server.3=zookeeper3:2888:3888networks:- zookeeper-networkszookeeper2:image: zookeepercontainer_name: zookeeper2restart: alwaysports:- 9002:2181volumes:- "/usr/local/docker-compose/zookeeper/zookeeper2/data:/data"- "/usr/local/docker-compose/zookeeper/zookeeper2/datalog:/datalog"- "/usr/local/docker-compose/zookeeper/zookeeper2/logs:/logs"- "/usr/local/docker-compose/zookeeper/zookeeper2/conf:/conf"environment:ZOO_MY_ID: 2ZOO_SERVERS: server.1=zookeeper1:2888:3888 server.2=zookeeper2:2888:3888 server.3=zookeeper3:2888:3888networks:- zookeeper-networkszookeeper3:image: zookeepercontainer_name: zookeeper3restart: alwaysports:- 9003:2181volumes:- "/usr/local/docker-compose/zookeeper/zookeeper3/data:/data"- "/usr/local/docker-compose/zookeeper/zookeeper3/datalog:/datalog"- "/usr/local/docker-compose/zookeeper/zookeeper3/logs:/logs"- "/usr/local/docker-compose/zookeeper/zookeeper3/conf:/conf"environment:ZOO_MY_ID: 3ZOO_SERVERS: server.1=zookeeper1:2888:3888 server.2=zookeeper2:2888:3888 server.3=zookeeper3:2888:3888networks:- zookeeper-networks

创建用于存放配置文件的目录:

mkdir -p /usr/local/docker-compose/zookeeper/zookeeper1/conf /usr/local/docker-compose/zookeeper/zookeeper2/conf /usr/local/docker-compose/zookeeper/zookeeper3/conf

创建配置文件:

vim /usr/local/docker-compose/zookeeper/zookeeper1/conf/zoo.cfg

配置文件的内容如下所示:

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data
dataLogDir=/datalog
clientPort=2181
# 扩展类型启用,设置为true才能创建TTL类型的节点
extendedTypesEnabled=true
# 集群配置
server.1=zookeeper1:2888:3888
server.2=zookeeper2:2888:3888
server.3=zookeeper3:2888:3888
  • tickTimeZooKeeper中最小的时间单位长度 (默认2000ms)。
  • initLimitfollower节点启动后与leader节点完成数据同步的时间(指定为tickTime的倍数,默认10倍,即20s)。
  • syncLimitleader节点和follower节点进行心跳检测的最大延迟时间(指定为tickTime的倍数,默认5倍,即10s)。
  • dataDir:表示ZooKeeper存储快照文件的目录(默认为/tmp/zookeeper)。
  • dataLogDir:表示ZooKeeper事务日志的存储路径,默认指定在dataDir目录下 。
  • clientPort:表示ZooKeeper客户端和ZooKeeper服务端建立连接的端口号(默认 2181)。

将配置文件复制到其他ZooKeeper节点挂载的配置文件目录:

cp /usr/local/docker-compose/zookeeper/zookeeper1/conf/zoo.cfg /usr/local/docker-compose/zookeeper/zookeeper2/conf/
cp /usr/local/docker-compose/zookeeper/zookeeper1/conf/zoo.cfg /usr/local/docker-compose/zookeeper/zookeeper3/conf/

开始部署ZooKeeper集群:

docker compose -f /root/composefile/zookeeper/zookeeper.yaml up -d

-f指定yaml文件位置,-d表示后台运行。

docker psdocker compose ls命令都可以查询服务是否启动成功:

Docker部署在192.168.1.9上。

使用另外一台有ZooKeeper文件的虚拟机进行测试。

./zkCli.sh -timeout 5000 -server 192.168.1.9:9001


测试创建TTL类型的节点。

[zk: 192.168.1.9:9001(CONNECTED) 1] ls /
[zookeeper]
[zk: 192.168.1.9:9001(CONNECTED) 2] create -t 10 /kaven
Created /kaven
[zk: 192.168.1.9:9001(CONNECTED) 3] ls /
[kaven, zookeeper]
[zk: 192.168.1.9:9001(CONNECTED) 4] ls /
[kaven, zookeeper]
[zk: 192.168.1.9:9001(CONNECTED) 5] ls /
[kaven, zookeeper]
[zk: 192.168.1.9:9001(CONNECTED) 6] ls /
[kaven, zookeeper]
[zk: 192.168.1.9:9001(CONNECTED) 7] ls /
[kaven, zookeeper]
[zk: 192.168.1.9:9001(CONNECTED) 8] ls /
[zookeeper]

使用Docker Compose部署ZooKeeper集群就介绍到这里,如果博主有说错的地方或者大家有不同的见解,欢迎大家评论补充。

ZooKeeper :Docker Compose部署ZooKeeper集群相关推荐

  1. Kafka:Docker Compose部署Kafka集群

    创建目录用于存放Docker Compose部署Kafka集群的yaml文件: mkdir -p /root/composefile/kafka/ 写入该yaml文件: vim /root/compo ...

  2. 7条命令在docker中部署Mesos集群

    7条命令在docker中部署Mesos集群 所有使用的Docker容器构建文件是有也.您可以在本地构建每个容器或只使用位于Docker Hub预构建的容器.下面的命令会自动下载所需的预建的容器为您服务 ...

  3. 使用docker安装部署Spark集群来训练CNN(含Python实例)

    使用docker安装部署Spark集群来训练CNN(含Python实例) 本博客仅为作者记录笔记之用,不免有很多细节不对之处. 还望各位看官能够见谅,欢迎批评指正. 博客虽水,然亦博主之苦劳也. 如需 ...

  4. Docker 容器部署 Consul 集群

    Docker 容器部署 Consul 集群 Consul 介绍 Consul 提供了分布式系统的服务发现和配置的解决方案.基于go语言实现.并且在git上开放了源码consul-git.consul还 ...

  5. docker rabbitmq_Docker部署RabbitMQ集群

    安装rabbitmq 下载Docker镜像 docker pull rabbitmq:3.7.12-management 安装RabbitMQ mkdir rabbitmq # node1 172.1 ...

  6. Docker - 容器部署 Consul 集群

    目录   准备 Consul 镜像 安装单个 Consul 组装集群 Consul 启动 Consul 和 Web 管理器 Consul 命令简单介绍 Web 管理器 Server 加入集群 Clie ...

  7. Docker Compose搭建TDengine集群

    文章目录 1. Linux上安装Docker 2. 安装Docker Compose 3. 自定义Docker 网络 4. 搭建集群 4.1 基础配置 4.2 查看启动效果 4.3 测试节点 4.3. ...

  8. Docker Compose——搭建Redis集群

    环境配置 Docker 18.x Docker-Compose 3.7 Redis 6.2.5 主从(Master-Slave)模式 主从复制模式中包含一个主数据库实例(master)与一个或多个从数 ...

  9. docker compose搭建NACOS集群

    使用docker搭建NACOS集群 SpringCloud Alibaba,必然会使用Nacos进行服务注册与配置管理.然而,在实际的生产环境中,使用单服务器搭建nacos服务器是十分危险的,如若发生 ...

最新文章

  1. ClickHouse系列教程八:从一个服务器导入4T数据到另外一个服务器
  2. python状态机实现_如何实现Python状态机设计?
  3. #Spring代理的简单例子#
  4. ipad iphone开发_如何在iPhone或iPad上更改应用程序的语言
  5. 为Twitter4j创建自定义SpringBoot Starter
  6. 微软服务器系统桌面无图标,开机桌面没有图标的几种解决方法
  7. 上海电机学院c语言,上海电机学院第1章_C语言概述.ppt
  8. python适合自学编程吗-对没有编程基础的人来说,直接学Python入门IT合适吗?
  9. 三、后台实战——用户登录之JWT
  10. Java 设计模式——工厂模式
  11. ipv4 pxe 联想start_PC开机出现Start pxe over ipv4解决办法 PC重启后显示start pxe over IPv4...
  12. mac 重置mysql_mac 重置mysql 登录密码
  13. PDO中错误处理:errorCode方法和errorInfo方法
  14. 新年最大空投,好东西一起分享
  15. 斐讯N1保姆级教程 电视盒 debian centos7 三合一
  16. 计算机数据管理的三个阶段包括,计算机数据管理技术的发展包括三个阶段
  17. 详细线上问题跟进流程
  18. Nginx 教程-动静分离
  19. 北京少儿编程培训排行,孩子在未来也可以略胜一筹
  20. python 营销应用_随机森林算法入门(python),,它可以用于市场营销对客户

热门文章

  1. CRC32算法冲突概率测试和分析
  2. 大学入学计算机理论知识试卷及答案,2017年大学计算机基础知识试题及答案
  3. user interface
  4. 使用VMware 安装mac os系统 遇到鼠标键盘无法使用的问题
  5. 索尼爱立信手机在 J2ME 程序中的字体大小
  6. NX/UG二次开发—装配—克隆相关知识总结
  7. 想用这种方法跳槽加薪,太幼稚了!
  8. 年后准备跳槽一定要注意这几点。谨防踩坑
  9. JS中文字符串和UTF-8编码字符串相互转换
  10. 121. 买卖股票的最佳时机