Docker部署Zookeeper部署集群实践(2)
注:本文使用docker for windows模拟构建zookeeper集群,在linux系统下,可使用同样的docker命令构建
参考url:https://github.com/31z4/zookeeper-docker
1. 创建一个文件,名为:stack.yml,内容为:
version: '3.1'
services:
zoo1:
image: zookeeper
restart: always
hostname: zoo1
ports:
- 2181:2181
environment:
ZOO_MY_ID: 1
ZOO_SERVERS: server.1=0.0.0.0:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
zoo2:
image: zookeeper
restart: always
hostname: zoo2
ports:
- 2182:2181
environment:
ZOO_MY_ID: 2
ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=0.0.0.0:2888:3888 server.3=zoo3:2888:3888
zoo3:
image: zookeeper
restart: always
hostname: zoo3
ports:
- 2183:2181
environment:
ZOO_MY_ID: 3
ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=0.0.0.0:2888:3888
执行命令构建:docker stack deploy -c stack.yml zookeeper
或者:docker-compose -f stack.yml up
创建完成后,发现发生错误,java.net.ConnectException: Connection refused
其实这三个容器已经创建好了,但是就是没有启动,我们输入命令单个逐个启动,就可以了
docker start zookeeper_zoo1_1
docker start zookeeper_zoo2_1
docker start zookeeper_zoo3_1
2. 在三个节点上,依次执行命令zkServer.sh status(可以看到MODE,谁是leader,谁是follower)
3. 集群测试
进入master,创建一个根节点
输入命令进入master:docker exec -it zookeeper_zoo3_1 zkCli.sh
创建一个根节点目录:create /project zookeeper_project
输入命令:get /project
在主机上创建成功
进入follower节点,查看相应目录
输入命令,进入zookeeper_zoo1_1:docker exec -it zookeeper_zoo1_1 zkCli.sh
输入命令:get /project
输入命令,进入zookeeper_zoo2_1:docker exec -it zookeeper_zoo2_1 zkCli.sh
输入命令:get /project
都成功了,说明集群也成功了
4. Zookeeper高可用测试-从节点接管主节点为新的主节点
进入zookeeper_zoo3_1,查看状态为leader
命令:docker exec –it zookeeper_zoo3_1 bash
zkServer.sh status
剩下的zoo1和zoo2都是follower节点
输入命令,关闭zoo3
Docker stop zookeeper_zoo3_1
关闭主节点后,我们再查看子节点的状态
发现zoo2变成了主节点,zoo1还是从节点
我们再打开zoo3节点,再查看三个节点的状态
Docker start zookeeper_zoo3_1
我们发现zoo3和zoo1为从节点,zoo2变成了主节点,从此可以看出,zookeeper集群已经成功!
Docker部署Zookeeper部署集群实践(2)的更多相关文章
- Linux Centos7 环境搭建Docker部署Zookeeper分布式集群服务实战
Zookeeper完全分布式集群服务 准备好3台服务器: [x]A-> centos-helios:192.168.19.1 [x]B-> centos-hestia:192.168.19 ...
- 在kubernetes上部署zookeeper,kafka集群
本文采用网上镜像:mirrorgooglecontainers/kubernetes-zookeeper:1.0-3.4.10 准备共享存储:nfs,glusterfs,seaweed或其他,并在no ...
- Docker搭建Zookeeper&Kafka集群
最近在学习Kafka,准备测试集群状态的时候感觉无论是开三台虚拟机或者在一台虚拟机开辟三个不同的端口号都太麻烦了(嗯..主要是懒). 环境准备 一台可以上网且有CentOS7虚拟机的电脑 为什么使用虚 ...
- docker 部署 zookeeper+kafka 集群
主机三台172.16.100.61172.16.100.62172.16.100.63Docker 版本 当前最新版 # 部署zk有2种方法 ## 注意 \后不要跟空格 一 . 端口映射 172.16 ...
- 基于Docker一键部署大规模Hadoop集群及设计思路
一.背景: 随着互联网的发展.互联网用户的增加,互联网中的数据也急剧膨胀.每天产生的数据量数以万计,本地文件系统和单机CPU已无法满足存储和计算要求.Hadoop分布式文件系统(HDFS)是海量数据存 ...
- Docker 部署 RocketMQ Dledger 集群模式( 版本v4.7.0)
文章转载自:http://www.mydlq.club/article/97/ 系统环境: 系统版本:CentOS 7.8 RocketMQ 版本:4.7.0 Docker 版本:19.03.13 一 ...
- Zookeeper+Kafka集群部署(转)
Zookeeper+Kafka集群部署 主机规划: 10.200.3.85 Kafka+ZooKeeper 10.200.3.86 Kafka+ZooKeeper 10.200.3.87 Kaf ...
- Zookeeper+Kafka集群部署
Zookeeper+Kafka集群部署 主机规划: 10.200.3.85 Kafka+ZooKeeper 10.200.3.86 Kafka+ZooKeeper 10.200.3.87 Kaf ...
- Docker简单部署Ceph测试集群
通过docker可以快速部署小规模Ceph集群的流程,可用于开发测试. 以下的安装流程是通过linux shell来执行的;假设你只有一台机器,装了linux(如Ubuntu)系统和docker环境, ...
- 宝塔面板 + Rancher + 阿里云镜像仓库 + Docker + Kubernetes,添加集群、部署 web 应用
目录 一,安装宝塔面板(V 6.8) 二,使用宝塔安装 Docker,配置阿里云容器服务 三,安装 Rancher (Server) 四,管理 Rancher.添加集群 五,添加 Rancher 应用 ...
随机推荐
- JS 获取JSON数据的属性
var tballdata= [{ 'tjqd': '', 'A1': '', 'A2': '', 'A3': '', 'A4': '' };] if (typeof tballdata[0] == ...
- Basic remains java入门题
Basic remains input: b p m 读入p进制的p,m, 求p%m ,以b进制输出 1 import java.util.*; 2 import java.math ...
- CentOS-Docker安装Elasticsearch(单点)
下载镜像 $ docker pull elasticsearch:7.6.0 运行镜像 $ docker run --restart=always --name elasticsearch -d -p ...
- spring boot项目的maven库查询地址
阿里巴巴地址 http://maven.aliyun.com/nexus/#welcome maven通用地址 http://mvnrepository.com/ gradle默认mavenCentr ...
- 注解+AOP实现redis遍历缓存
1.注解 package com.yun.smart.annotation; import java.lang.annotation.ElementType; import java.lang.ann ...
- ESP32-OTA升级
基于ESP-IDF4.1 1 #include <string.h> 2 #include "freertos/FreeRTOS.h" 3 #include " ...
- 「CF997E」 Good Subsegments
CF997E Good Subsegments 传送门 和 CF526F 差不多,只不过这道题是对多个子区间进行询问. 据说有一个叫析合树的东西可以在线做,不过有时间再说吧. 考虑离线询问,将每个询问 ...
- 动态路由协议、RIP
动态路由协议.RIP 一.动态路由协议 1)动态路由协议概述 2)度量值 3)收敛 4)静态路由与动态路由的比较 5)动 ...
- C语言:进制表示
二进制由 0 和 1 两个数字组成,使用时必须以0b或0B(不区分大小写)开头 八进制由 0~7 八个数字组成,使用时必须以0开头(注意是数字 0,不是字母 o) 十六进制由数字 0~9.字母 A~F ...
- 案例分享:Qt+Arm基于RV1126平台的内窥镜软硬整套解决方案(实时影像、冻结、拍照、录像、背光调整、硬件光源调整,其他产品也可使用该平台,如视频监控,物联网产品等等)
自研产品系列方案 1. 基于瑞芯微的 RV1126 芯片平台: 2. 外接 USB 摄像头(OV9734. OV6946.OV2740 等 UVC 模块)作为图像输入源: 3. 可通过 LED ...