[docker] docker-compose installe le cluster zookeeper

Préface

Le module réseau présenté précédemment docker-compose.


Dépendances de base

  • docker et docker-compose

L'idée de base

Idée 1

Tout d'abord, il faut aller sur le site officiel de docker pour voir s'il existe une image officielle. Très chanceux, notre gardien de zoo a déjà une image officielle qui peut être utilisée.

Insérer la description de l'image ici
Avant d'utiliser l'image zookeeper, nous ferions mieux de confirmer la version dont vous avez besoin. Cet article utilise l'environnement actuel qui est relativement stable 3.6.3. (Notez que Mac semble avoir été récemment adapté à la puce M1, veuillez donc choisir l'image docker adaptée appropriée. .)

  • Téléchargez l'image Docker à l'avance
    docker pull zookeeper:3.6.3

  • Créer un réseau Docker à l'avance
    docker-network create zk-net


Autonome - (fichier docker-compose.yml)

version: '2'

networks:
  zk-net:
    name: zk-net

services:
  zoo1:
    image: 'zookeeper:3.6.3'
    container_name: zoo1
    hostname: zoo1
    environment:
      ZOO_MY_ID: 1
      ZOO_SERVERS: server.1=0.0.0.0:2888:3888;2181
      ALLOW_ANONYMOUS_LOGIN: "yes"
    networks:
      - zk-net
    ports:
      - 2181:2181
      - 8081:8080

Le fichier de configuration du cluster est similaire à celui d'une seule machine. Analysons d'abord le fichier de configuration de la seule machine.

réseaux
  • networks/zk-net/name: Il s'agit principalement de déclarer le réseau Docker associé.C'est pratique à utiliser ci-dessous.
prestations de service
  • services/environnet: Déclare principalement certaines variables qui doivent être utilisées ultérieurement.
  • environment/ZOO_MY_ID: ID de nœud généralement déclaré lors de la construction d'un cluster.
  • environment/ ZOO_SERVERS: server.1: Déclarez l'adresse du fichier de configuration.
  • environment/networks: Le réseau utilisé par le nœud actuel.
  • environment/ports: Mappage de nœud lié au nœud actuel.

Cluster - (fichier docker-compose.yml)

version: '2'

networks:
  zk-net:
    name: zk-net

services:
  zoo1:
    image: 'zookeeper:3.6.3'
    container_name: zoo1
    hostname: zoo1
    environment:
      ZOO_MY_ID: 1
      ZOO_SERVERS: server.1=0.0.0.0:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181
      ALLOW_ANONYMOUS_LOGIN: "yes"
    networks:
      - zk-net
    ports:
      - 2181:2181
      - 8081:8080
  zoo2:
    image: 'zookeeper:3.6.3'
    container_name: zoo2
    hostname: zoo2
    environment:
      ZOO_MY_ID: 2
      ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=0.0.0.0:2888:3888;2181 server.3=zoo3:2888:3888;2181
      ALLOW_ANONYMOUS_LOGIN: "yes"
    networks:
      - zk-net
    ports:
      - 2182:2181
      - 8082:8080
  zoo3:
    image: 'zookeeper:3.6.3'
    container_name: zoo3
    hostname: zoo3
    environment:
      ZOO_MY_ID: 3
      ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=0.0.0.0:2888:3888;2181
      ALLOW_ANONYMOUS_LOGIN: "yes"
    networks:
      - zk-net
    ports:
      - 2183:2181
      - 8083:8080

En fait, le site officiel du fichier de configuration concerné Zookeepera déjà proposé une solution, relativement similaire au fichier de configuration ci-dessus.
Insérer la description de l'image ici


Opérations pratiques associées

  • démarrerdocker-compose start
  • Utilisez zk-Cli.shdes clusters zookeeper liés.

Référence

[1]. Créez un cluster ZooKeeper avec Docker Compose
[2]. https://hub.docker.com/_/zookeeper
[3]. Utilisez Docker pour créer un cluster ZooKeeper en une seule étape.

Je suppose que tu aimes

Origine blog.csdn.net/u010416101/article/details/122803105
conseillé
Classement