Docker搭建zookeeper

2023-11-18

在这里插入图片描述

问题背景

前言

  1. 本文参考自:docker-compose快速搭建Zookeeper集群,熬到凌晨三点多验证部署成功,网上有很多文章已经无法正确部署了,因为有些东西版本升级了,版本跟不上就会报错
  2. 还有一种更加详细更加全面的部署方式:Docker之docker-compose一键部署Zookeeper集群,但笔者还未验证,先记录下来
  3. 如果是0基础docker-compose也不必惊慌,笔者也是0基础docker-compose,其实有掌握docker部署基础即可,compose能更加方便地编排服务,部署速度更加快了。

搭建

安装docker-ce

此处不赘述

安装docker-compose

不可以下载比以下版本号1.28.5更低的版本号,否则报错

# 下载
curl -L https://github.com/docker/compose/releases/download/1.28.5/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# 创建全局命令并赋予权限
chmod +x /usr/local/bin/docker-compose

拉取镜像

版本号可以根据Curator框架的maven依赖版本号修改,笔者这里选3.5.7,做项目中引入的zookeeper依赖也尽量跟此处版本号一样

docker pull zookeeper:3.5.7

创建目录

mkdir zk-cluster
cd zk-cluster

vim docker-compose.yml

编辑docker-compose.yml

docker-compose的版本号不可以比以下版本号1.28.5更低的版本号,否则报错

version: '3.1'

networks:
  zk-net:
    name: zk-net   # 网络名

services:
  zoo1:
    image: zookeeper:3.5.7
    container_name: zoo1   # 容器名称
    restart: always       # 开机自启
    hostname: 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
    networks:
      - zk-net

  zoo2:
    image: zookeeper:3.5.7
    container_name: zoo2
    restart: always
    hostname: 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
    networks:
      - zk-net

  zoo3:
    image: zookeeper:3.5.7
    container_name: zoo3
    restart: always
    hostname: 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
    networks:
      - zk-net

启动容器服务

docker-compose -f docker-compose.yml up -d

检查是否启动成功

docker exec -it zoo1 zkServer.sh status

docker exec -it zoo2 zkServer.sh status

docker exec -it zoo3 zkServer.sh status
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Docker搭建zookeeper 的相关文章

随机推荐

  • form表单数据回填

    前言 我相信很多人在做项目的时候都会碰到数据回填 每当有一个修改页面那么 就逃不掉 可以说修改跟回填是已经牢牢挂钩了 那么这时候有很多小伙伴 就会很头疼了 当我们的页面的form表单需要回填的数据特别特别多的时候 这时候如果还一个一个文本框
  • php+golang grpc客户端和服务端详细案例

    测试环境 win10 centos7 9 php7 4 golang1 17 一 安装 protobuf 1 protoc的源码和各个系统的预编译包 https github com protocolbuffers protobuf rel
  • 怎样写好一篇英文论文

    以前觉得不就是写个论文嘛 东西做好了 写还不好写 最近写了两篇文章也审了几篇文章才发现 写东西真是件技术活 一般人还真搞不定 前两天老师专门开了个批斗大会 指着某某人和某某人的论文给我们讲该怎么写论文 在这里大致总结一下 首先声明这是我和我
  • 访谈:小学学历的程序员自主研发出框架级产品

    提到许松森 也许你并不知道他是谁 在Google中敲入这个名字 能找到的结果也寥寥无几 那么做为我们这一期采访的主角 他究竟是用什么在吸引着我们呢 打开许松森的blog 开篇就是 我的悲惨人生 读在字里行间 对他在逆境中的自我成长很是敬佩
  • java关于数组的函数_Java关于数组操作函数

    数组排序及元素查找 sort 方法对Java数组进行排序 binarySearch 方法来查找数组中的元素 返回该元素所在的位置 import java util public classtest public static voidmai
  • 漏洞挖掘之乱拳打死老师傅——Fuzzer

    背景 Fuzzer是一种通过产生一系列非法的 非预期的或者随机的输入向量给目标程序 从而完成自动化的触发和挖掘目标程序中的安全漏洞的软件测试技术 相比于形式化的软件漏洞测试技术 比如 符号执行技术 Fuzzer往往能够在实际的应用中挖掘更多
  • 【编程之路】面试必刷TOP101:动态规划(67-71,Python实现)

    面试必刷TOP101 动态规划 67 71 Python实现 67 不同路径的数目 一 小试牛刀 67 1 递归 首先我们在左上角第一个格子的时候 有两种行走方式 如果向右走 相当于后面在一个 n 1
  • vue 如何实现多页面应用(简单版)

    1 进入 build webpack base conf js目录下 在module exports的域里 找到entry 在那里配置添加多个入口 2 对开发环境run dev里进行修改 打开 build webpack dev conf
  • Rancher 图形化管理K8S

    题外话 之前我们一直都是使用命令行来管理K8S的 这种做法虽然对程序员来说看起来很炫酷 但有时候用起来还是挺麻烦的 今天我们来介绍一个K8S可视化管理工具Rancher 使用它可以大大减少我们管理K8S的工作量 希望对大家有所帮助 简介 R
  • Spyder更改为python3.10解释器

    Spyder更改为python3 10解释器 因为系统安装的python版本为3 10 但是官网下载最新的Spyder内置python版本为3 7 9 强迫症一犯就想着更改成3 10 步骤如下 偏好里面更改控制台的运行方式 根据个人习惯设置
  • java高频面试题含答案(网络)

    java高频面试题含答案 网络 1 http 响应码 301 和 302 代表的是什么 有什么区别 答 301 302 都是HTTP状态的编码 都代表着某个URL发生了转移 区别 301 redirect 301 代表永久性转移 Perma
  • 膜拜,阿里架构师着重推荐的SprinBoot手册—进阶、原理、实战与面试题分析指南

    我们知道 Spring Boot是一个集成性的开源框架 内部整合了很多第三方组件和框架 这些组件和框架应用如此之广泛 以至于大家反而往往对如何更好地使用Spring Boot自身的功能特性并不是很重视 事实上 Spring Boot自身的功
  • [小技巧] git: Your branch and 'origin/master' have diverged

    本文参考 http stackoverflow com questions 19864934 git your branch and origin master have diverged how to throw away local c
  • mac os x excel 单元格换行

    参考 http jingyan baidu com article 0f5fb09911cb366d8334ea07 html Windows 下是 alt 回车 mac os x 下变成 alt ctrl 回车
  • Vue3通透教程【十四】TS其他类型详解(一)

    文章目录 写在前面 对象类型 函数结构类型 数组类型 元组 枚举 类型别名 写在最后 写在前面 专栏介绍 凉哥作为 Vue 的忠实 粉丝输出过大量的 Vue 文章 应粉丝要求开始更新 Vue3 的相关技术文章 Vue 框架目前的地位大家应该
  • 毕业设计 STM32的智能WIFI视频人脸追踪监控系统

    0 前言 这两年开始毕业设计和毕业答辩的要求和难度不断提升 传统的毕设题目缺少创新和亮点 往往达不到毕业答辩的要求 这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求 为了大家能够顺利以及最少的精力通过毕设 学长分享优质毕业设计项
  • 函数内变量的提升(function hoisting)

    1 函数内外有重名的变量时 局部变量会覆盖全局变量 原因是函数域优先于全局域 2 当js执行进入函数时 函数内部声明过的所有变量会被提到最前 但同时对变量的赋值等操作不会被提升 例 var a 123 function test alert
  • 12帧跑步动画分解图_今天给大家分享一个跑步动画教程和注意事项!希望有所帮助!...

    跑步的动画的制作 一 跑步的基本原理 前面介绍了走路的动画的制作 跑步的制作方式和走路的方式是一样的 但是我们怎样来区别这两个动作的不同呢 虽然跑步在日常生活中经常看见 但是我们可能从来没有仔细的分析每一个动作 现在我们再来简单的说一下走路
  • upload labs第二关

    从上往下 首先定义两个变量 其中一个为空 在点击提交按钮后 前提文件路径可以找到 开始看文件类型是否为jpeg png gif格式 is upload false msg null if isset POST submit if file
  • Docker搭建zookeeper

    问题背景 前言 本文参考自 docker compose快速搭建Zookeeper集群 熬到凌晨三点多验证部署成功 网上有很多文章已经无法正确部署了 因为有些东西版本升级了 版本跟不上就会报错 还有一种更加详细更加全面的部署方式 Docke