ZooKeeper :Docker Compose部署ZooKeeper集群
用于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
tickTime
:ZooKeeper
中最小的时间单位长度 (默认2000ms
)。initLimit
:follower
节点启动后与leader
节点完成数据同步的时间(指定为tickTime
的倍数,默认10
倍,即20s
)。syncLimit
:leader
节点和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 ps
和docker 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集群相关推荐
- Kafka:Docker Compose部署Kafka集群
创建目录用于存放Docker Compose部署Kafka集群的yaml文件: mkdir -p /root/composefile/kafka/ 写入该yaml文件: vim /root/compo ...
- 7条命令在docker中部署Mesos集群
7条命令在docker中部署Mesos集群 所有使用的Docker容器构建文件是有也.您可以在本地构建每个容器或只使用位于Docker Hub预构建的容器.下面的命令会自动下载所需的预建的容器为您服务 ...
- 使用docker安装部署Spark集群来训练CNN(含Python实例)
使用docker安装部署Spark集群来训练CNN(含Python实例) 本博客仅为作者记录笔记之用,不免有很多细节不对之处. 还望各位看官能够见谅,欢迎批评指正. 博客虽水,然亦博主之苦劳也. 如需 ...
- Docker 容器部署 Consul 集群
Docker 容器部署 Consul 集群 Consul 介绍 Consul 提供了分布式系统的服务发现和配置的解决方案.基于go语言实现.并且在git上开放了源码consul-git.consul还 ...
- docker rabbitmq_Docker部署RabbitMQ集群
安装rabbitmq 下载Docker镜像 docker pull rabbitmq:3.7.12-management 安装RabbitMQ mkdir rabbitmq # node1 172.1 ...
- Docker - 容器部署 Consul 集群
目录 准备 Consul 镜像 安装单个 Consul 组装集群 Consul 启动 Consul 和 Web 管理器 Consul 命令简单介绍 Web 管理器 Server 加入集群 Clie ...
- Docker Compose搭建TDengine集群
文章目录 1. Linux上安装Docker 2. 安装Docker Compose 3. 自定义Docker 网络 4. 搭建集群 4.1 基础配置 4.2 查看启动效果 4.3 测试节点 4.3. ...
- Docker Compose——搭建Redis集群
环境配置 Docker 18.x Docker-Compose 3.7 Redis 6.2.5 主从(Master-Slave)模式 主从复制模式中包含一个主数据库实例(master)与一个或多个从数 ...
- docker compose搭建NACOS集群
使用docker搭建NACOS集群 SpringCloud Alibaba,必然会使用Nacos进行服务注册与配置管理.然而,在实际的生产环境中,使用单服务器搭建nacos服务器是十分危险的,如若发生 ...
最新文章
- ClickHouse系列教程八:从一个服务器导入4T数据到另外一个服务器
- python状态机实现_如何实现Python状态机设计?
- #Spring代理的简单例子#
- ipad iphone开发_如何在iPhone或iPad上更改应用程序的语言
- 为Twitter4j创建自定义SpringBoot Starter
- 微软服务器系统桌面无图标,开机桌面没有图标的几种解决方法
- 上海电机学院c语言,上海电机学院第1章_C语言概述.ppt
- python适合自学编程吗-对没有编程基础的人来说,直接学Python入门IT合适吗?
- 三、后台实战——用户登录之JWT
- Java 设计模式——工厂模式
- ipv4 pxe 联想start_PC开机出现Start pxe over ipv4解决办法 PC重启后显示start pxe over IPv4...
- mac 重置mysql_mac 重置mysql 登录密码
- PDO中错误处理:errorCode方法和errorInfo方法
- 新年最大空投,好东西一起分享
- 斐讯N1保姆级教程 电视盒 debian centos7 三合一
- 计算机数据管理的三个阶段包括,计算机数据管理技术的发展包括三个阶段
- 详细线上问题跟进流程
- Nginx 教程-动静分离
- 北京少儿编程培训排行,孩子在未来也可以略胜一筹
- python 营销应用_随机森林算法入门(python),,它可以用于市场营销对客户