散装java 散装java
首页
  • Java基础
  • JVM
  • Java多线程
  • 知识点
  • 案例
  • Redis
  • RabbitMQ
  • Kafka
  • Elasticsearch
  • MySQL
  • Linux
  • Docker
  • Zookeeper
  • Nginx
  • Git
  • JMeter
  • Gradle
  • 常见BUG
  • 常见解决方案
  • 资源
  • 问答
💖支持
Gitee (opens new window)
首页
  • Java基础
  • JVM
  • Java多线程
  • 知识点
  • 案例
  • Redis
  • RabbitMQ
  • Kafka
  • Elasticsearch
  • MySQL
  • Linux
  • Docker
  • Zookeeper
  • Nginx
  • Git
  • JMeter
  • Gradle
  • 常见BUG
  • 常见解决方案
  • 资源
  • 问答
💖支持
Gitee (opens new window)
  • 运维导读
  • Linux

    • Linux系统根目录概述
    • Linux常用操作指令
    • Linux如何跑一个定时任务
  • Docker

    • Docker导读
    • 常用 Docker 指令
    • Docker Compose 安装
    • Docker Compose 常用指令
  • Zookeeper

    • Zookeeper集群搭建
      • zookeeper 集群安装
        • 测试
        • 直连单个 zk
  • Nginx

    • Windows下安装使用 Nginx
    • Nginx 配置负载均衡
  • Git

    • Git 清空提交记录
  • GitLab

    • docker compose 搭建gitlab私服
  • 运维
  • Zookeeper
散装java
2022-12-28
目录

Zookeeper集群搭建

# zookeeper 集群安装

这里采用的 Docker Compose 的形式去进行 zk 集群的安装,这里是演示的 3 台 zk 做集群

参考docker官方给的文档 https://registry.hub.docker.com/_/zookeeper (opens new window)

# docker compose 版本
version: "3.9"

services:
  # zookeeper 节点1
  zk1:
    # 镜像名称
    image: zookeeper
    # 容器名称
    container_name: zk1.docker
    # docker重启后自动重启容器
    restart: always
    # 当前容器主机名
    hostname: zk1.docker
    # 端口 宿主机:容器
    ports:
      - "2181:2181"
    # 环境变量
    environment:
      # myid,一个集群内唯一标识一个节点
      ZOO_MY_ID: 1
      # 集群内节点列表
      ZOO_SERVERS: server.1=zk1.docker:2888:3888;2181 server.2=zk2.docker:2888:3888;2181 server.3=zk3.docker:2888:3888;2181
  # 节点2
  zk2:
    image: zookeeper
    container_name: zk2.docker
    restart: always
    hostname: zk2.docker
    ports:
      - "2182:2181"
    environment:
      ZOO_MY_ID: 2
      ZOO_SERVERS: server.1=zk1.docker:2888:3888;2181 server.2=zk2.docker:2888:3888;2181 server.3=zk3.docker:2888:3888;2181
  # 节点3
  zk3:
    image: zookeeper
    container_name: zk3.docker
    restart: always
    hostname: zk3.docker
    ports:
      - "2183:2181"
    environment:
      ZOO_MY_ID: 3
      ZOO_SERVERS: server.1=zk1.docker:2888:3888;2181 server.2=zk2.docker:2888:3888;2181 server.3=zk3.docker:2888:3888;2181
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45

# 测试

--net docker-compose_default 是网络, 可以使用 docker network ls 查看, 在 docker-compose 启动的时候,会生成一个默认网络

docker run -it --rm \
        --link zk1:zk1 \
        --link zk2:zk2 \
        --link zk3:zk3 \
        --net docker-compose_default \
        zookeeper zkCli.sh -server zk1:2181,zk2:2181,zk3:2181

1
2
3
4
5
6
7

执行脚本后,会进入到控制台页面 这是可以创建一个节点看看 create /test test1

[zk: zk1:2181,zk2:2181,zk3:2181(CONNECTED) 2] create /test test1
Created /test
[zk: zk1:2181,zk2:2181,zk3:2181(CONNECTED) 3] 

1
2
3
4

# 直连单个 zk

# 直接连接zk
docker run -it --rm --link zk2.docker:zookeeper --net docker-compose_default zookeeper zkCli.sh -server zookeeper
1
2
上次更新: 2023/01/07, 19:34:27
Docker Compose 常用指令
Windows下安装使用 Nginx

← Docker Compose 常用指令 Windows下安装使用 Nginx→

Theme by Vdoing | Copyright © 2022-2024 散装java | MIT License | 鲁ICP备2022022143号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式