1分钟,通过docker-compose 搭建zookeeper 集群
一、创建三节点 zookeeper 集群
- 将 docker-compose.yml 保存到当前命令行目录下
docker-compose.yml 文件
version: '2'
networks:
zk:
services:
zookeeper1:
image: zookeeper
container_name: zk1.cloud
networks:
- zk
ports:
- "2181:2181"
environment:
ZOO_MY_ID: 1
ZOO_SERVERS: server.1=0.0.0.0:2888:3888 server.2=zk2.cloud:2888:3888 server.3=zk3.cloud:2888:3888
zookeeper2:
image: zookeeper
container_name: zk2.cloud
networks:
- zk
ports:
- "2182:2181"
environment:
ZOO_MY_ID: 2
ZOO_SERVERS: server.1=zk1.cloud:2888:3888 server.2=0.0.0.0:2888:3888 server.3=zk3.cloud:2888:3888
zookeeper3:
image: zookeeper
container_name: zk3.cloud
networks:
- zk
ports:
- "2183:2181"
environment:
ZOO_MY_ID: 3
ZOO_SERVERS: server.1=zk1.cloud:2888:3888 server.2=zk2.cloud:2888:3888 server.3=0.0.0.0:2888:3888
- 执行命令,如果是首次获取 zookeeper 镜像,输出会有不同
输入
docker pull zookeeper
输出
latest: Pulling from library/zookeeper
Digest: sha256:3f03c6f5a91e0f638f3d6a755b2d32c06583766031353be87e2d633fa3006c23
Status: Image is up to date for zookeeper:latest
- 后台启动 zookeeper 集群
docker-compose up -d
输出命令
Creating network "dczk_zk" with the default driver
Creating zk2.cloud ... done
Creating zk1.cloud ... done
Creating zk3.cloud ... done
二、检查进程状态
输入
docker ps
输出
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cb176c76c620 zookeeper "/docker-entrypoint.…" minutes ago Up minutes /tcp, /tcp, 0.0.0.0:->/tcp zk3.cloud
ee00aba1c766 zookeeper "/docker-entrypoint.…" minutes ago Up minutes /tcp, 0.0.0.0:->/tcp, /tcp zk1.cloud
5d95baa693c2 zookeeper "/docker-entrypoint.…" minutes ago Up minutes /tcp, /tcp, 0.0.0.0:->/tcp zk2.cloud
docker-compose ps
输出
Name Command State Ports
-----------------------------------------------------------------------------------------------
zk1.cloud /docker-entrypoint.sh zkSe ... Up 0.0.0.0:->/tcp, /tcp, /tcp
zk2.cloud /docker-entrypoint.sh zkSe ... Up 0.0.0.0:->/tcp, /tcp, /tcp
zk3.cloud /docker-entrypoint.sh zkSe ... Up 0.0.0.0:->/tcp, /tcp, /tcp
三、测试
1. docker 3 为leader
输入
docker exec -it zk1.cloud bash ./bin/zkServer.sh status
输出
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Mode: follower
输入
docker exec -it zk2.cloud bash ./bin/zkServer.sh status
输出
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Mode: follower
输入
docker exec -it zk3.cloud bash ./bin/zkServer.sh status
输出
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Mode: leader
2. 关闭 zk3.cloud 后检查leader变化情况
输入
docker stop zk3.cloud
docker exec -it zk2.cloud bash ./bin/zkServer.sh status
输出
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Mode: leader
3. 再次启动 zk3.cloud 后检查 leader变化情况
输入
docker start zk3.cloud
docker exec -it zk2.cloud bash ./bin/zkServer.sh status
输出
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Mode: leader
输入
docker exec -it zk3.cloud bash ./bin/zkServer.sh status
输出
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Mode: follower
4. 关闭 zk2.cloud 后检查 leader变化情况
输入
docker stop zk2.cloud
docker exec -it zk3.cloud bash ./bin/zkServer.sh status
输出
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Mode: leader
1分钟,通过docker-compose 搭建zookeeper 集群的更多相关文章
- Docker中搭建zookeeper集群
1.获取官方镜像 从dockerhub获取官方的zookeeper镜像: docker pull zookeeper 2.了解镜像内容 拉取完镜像后,通过 docker inspect zookeep ...
- docker 搭建zookeeper集群和kafka集群
docker 搭建zookeeper集群 安装docker-compose容器编排工具 Compose介绍 Docker Compose 是 Docker 官方编排(Orchestration)项目之 ...
- docker-compose搭建zookeeper集群
搭建zookeeper集群 创建docker-compose.yml文件 ``` version: '3.1' services: zoo1: image: zookeeper restart: al ...
- docker-compose搭建zookeeper集群环境 CodingCode
docker-compose搭建zookeeper集群环境 使用docker-compose搭建zookeeper集群环境 zookeeper是一个集群环境,用来管理微服务架构下面的配置管理功能. 这 ...
- 如何搭建Zookeeper集群
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件,提供的 ...
- centos 6.5 搭建zookeeper集群
为什么使用Zookeeper? 大部分分布式应用需要一个主控.协调器或控制器来管理物理分布的子进程(如资源.任务分配等)目前,大部分应用需要开发私有的协调程序,缺乏一个通用的机制协调程序的反复编写浪费 ...
- 使用Cloudera Manager搭建zookeeper集群及HDFS HA实战篇
使用Cloudera Manager搭建zookeeper集群及HDFS HA实战篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.使用Cloudera Manager搭建zo ...
- 搭建zookeeper集群_其中一个报Mode: standalone,另外两个分别是leader和follower
用3个zookeeper搭建一个zookeeper集群,首先配置好一个zookeeper1,其余两个都是按照zookeeper1复制过来,然后稍微修改 运行集群成功,查看zookeeper状态 可以看 ...
- docker搭建zookeeper集群
1.在官网拉取镜像 docker pull zookeeper 2.根据镜像启动zookeeper容器 docker run -itd --name zookeeper1 -h zookeeper1 ...
随机推荐
- centos7 安装ldap
ldap首先我们要知道这个ldap的概念, LDAP是轻量目录访问协议(Lightweight Directory Access Protocol)的缩写 目录是一个为查询.浏览和搜索而优化的专业分布 ...
- PHP 定界符
双引号和单引号是常用的字符串定界符,在php4.0以后 还可以使用字符串定界符<<<,功能和双引号差不多,用法如下 <<<标识符 字符串 标识符 其中最后的标识符必 ...
- JVM & GC 笔记
0. 说明 转载并修改自JVM 1. JVM 1.1 什么是JVM JVM为Java虚拟机(Java Virtual Machine) Runtime data area,运行时数据区. 包含5个区域 ...
- 卸载CocoaPods
1. 移除pod组件 这条指令会告诉你Cocoapods组件装在哪里 : $ which pod 你可以手动移除这个组件 : $ sudo rm -rf <path> 2.移除 RubyG ...
- node.js 笔记一
现在地址:http://nodejs.org/download/ 我的机器是windows的,选择的文件是,是编译后的版本:Windows Installer (.msi) 32-bit examp ...
- BZOJ5368:[PKUSC2018]真实排名(组合数学)
Description 小C是某知名比赛的组织者,该比赛一共有n名选手参加,每个选手的成绩是一个非负整数,定义一个选手的排名是:成绩不小于他的选手的数量(包括他自己). 例如如果333位选手的成绩分别 ...
- PHP中全局变量global和$GLOBALS[]的区别分析
$GLOBALS['var']是外部的全局变量本身,global $var是外部$var的同名引用或者指针 一.举例比较 例一: 复制代码 代码如下: <?php $var1 = 1; ...
- solr的随机排序 【转载】
原文地址:http://blog.csdn.net/duck_genuine/article/details/8477336 有这样的一种需求,想从索引库里随机取出4条记录. 在 schema.xml ...
- SQL操作语句
SQL语句与Mysql的语句大体上比较相似.以下是sql server的一套练习题,是很好的数据库操作语句学习资料,学校的学习资料,在此整理了以下. 数据库exam:这是一个模拟电子商务,网上直销的数 ...
- Invoking "cmake" failed报错处理
运行$ pip install -U rosdep rosinstall_generator wstool rosinstall six vcstools运行完成后再重新编译