首页 > 其他分享 >docker快速搭建zookeeper集群

docker快速搭建zookeeper集群

时间:2022-11-26 18:08:13浏览次数:57  
标签:zookeeper zoo1 2181 zoo3 集群 docker data


一、准备工作

1、拉取zookeeper镜像

docker pull zookeeper
docker tag docker.io/zookeeper zookeeper
docker rmi docker.io/zookeeper

2、安装docker-compose工具

# 升级 pip
pip3 install --upgrade pip

# 指定 docker-compose 版本安装
pip install docker-compose==1.22

# 验证是否安装成功,有返回值,说明安装成功
docker-compose -v

3、创建相关文件夹

mkdir -p /data/docker-compose/zookeeper
mkdir -p /data/docker-data/zookeeper

 

二、使用docker-compose编排zookeeper集群

1、创建docker-compose.yml

cd /data/docker-compose/zookeeper
vi docker-compose.yml

version: '3.6'
services:
zoo1:
image: zookeeper
restart: always
hostname: zoo1
container_name: 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
volumes:
- /data/docker-data/zookeeper/zoo1/data:/data
- /data/docker-data/zookeeper/zoo1/datalog:/datalog

zoo2:
image: zookeeper
restart: always
hostname: zoo2
container_name: 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
volumes:
- /data/docker-data/zookeeper/zoo2/data:/data
- /data/docker-data/zookeeper/zoo2/datalog:/datalog

zoo3:
image: zookeeper
restart: always
hostname: zoo3
container_name: 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
volumes:
- /data/docker-data/zookeeper/zoo3/data:/data
- /data/docker-data/zookeeper/zoo3/datalog:/datalog

 

2、执行构建consul集群

cd /data/docker-compose/zookeeper
docker-compose up -d

 

3、进入容器验证集群是否构建成功

docker exec -it zoo1 bash

zkServer.sh status

返回下面信息,说明集群搭建成功

root@zoo1:/# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower

可以看到,zoo1是follower角色

再依次到zoo2、zoo3中看,最后发现,zoo3是leader角色,其他两个是follower角色,这是三台zookeeper内部选举的结果,无需我们干预。

我们通过​​docker stop zoo3​​ 把leader zoo3关掉,再分别进zoo1、zoo2,会发现,zoo2变成leader了,这也说明了zookeeper集群中,主从角色不需要我们人为干预,其内部会自己进行选举。

到这里,zookeeper集群就搭建好了。

标签:zookeeper,zoo1,2181,zoo3,集群,docker,data
From: https://blog.51cto.com/u_12855930/5889086

相关文章

  • LVS+Keepalived高可用集群部署
    一、LVS+Keepalived高可用群集在这个高度信息化的IT时代,企业的生产系统、业务运营、销售和支持,以及日常管理等环节越来越依赖于计算机信息和服务,对高可用(HA)技术的应用......
  • Redis系列---【Docker中的redis报错Failed opening t
    Docker中的redis报错FailedopeningtheRDBfileweb(inserverrootdir/etc/cron.d)forsaving:Permissiondenied1.问题最近,突然发现redis不能用了,一看日志,如下......
  • docker网络
    docker网络docker0网络详解清空环境dockerrm-f$(dockerimages-aq)会发现有三个网络docker是如何处理容器网络的?ps-adockerps-a|grepExiteddocker......
  • docker介绍
    推荐教程:https://www.bilibili.com/video/BV1og4y1q7M4?spm_id_from=333.999.0.0&vd_source=642a988fd50073c667fec7829ca79103Docker技术入门与实战-第3版.pdfdokecr为......
  • docker安装
    docker的组成镜像:(image)docker的镜像就好比是一个模板,可以通过模板来创建容器的服务,tomcat镜像--->run--->tomcat01容器(提供服务器),通过这个镜像可创建多个容器(最终服务......
  • docker常用命令
    docker的常用命令帮助命令dockerversion#显示docker的版本信息dockerinfo#显示docker的系统的详细信息docker命令---help#帮助命令帮助文档的地址:https://......
  • docker基础练习
    练习nginx[root@localhosthome]#dockersearchnginx[root@localhosthome]#dockerpullnginx[root@localhosthome]#dockerimagesREPOSITORYTAG......
  • docker镜像详解
    Docker镜像详解什么是镜像镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需要的所有内容,包括代码,运行时(一个......
  • Dockerfile配合IDEA实现一键部署
    1.1Dokcker开启远程访问1.1.0修改docker服务的配置文件vim/lib/systemd/system/docker.service1在ExecStart那行,加上-Htcp://0.0.0.0:2375代表任何ip都可以访问重新加......
  • IDEA官方 Docker 插件一键部署应用到远程服务器
    环境:jdk1.8及以上。Maven3.2+ideadockerdocker开启远程连接访问首先我们要开启docker的远程连接访问。保证不是docker所在的服务器,也能够远程访问docker。Linux版的docker:1......