Docker Compose가 포함된 ZooKeeper 클러스터

Vagrant를 사용하여 ZooKeeper 클러스터를 설정하는 방법에 대해 이야기했습니다. 이 게시물에서는 Docker Compose 덕분에 개발 환경에서 3개의 서로 다른 가상 서버를 시작하지 않고 수행하는 방법에 대해 이야기하겠습니다. 물론 Docker와 Docker Compose가 설치되어 있어야 합니다.
docker-compose.yml는 다음과 같습니다.

version: "3.9"
services:
  zk1:
    container_name: zk1
    hostname: zk1
    image: bitnami/zookeeper:3.6.2
    ports:
      - 21811:2181
    environment:
      - ALLOW_ANONYMOUS_LOGIN=yes
      - ZOO_SERVER_ID=1
      - ZOO_SERVERS=0.0.0.0:2888:3888,zk2:2888:3888,zk3:2888:3888
  zk2:
    container_name: zk2
    hostname: zk2
    image: bitnami/zookeeper:3.6.2
    ports:
      - 21812:2181
    environment:
      - ALLOW_ANONYMOUS_LOGIN=yes
      - ZOO_SERVER_ID=2
      - ZOO_SERVERS=zk1:2888:3888,0.0.0.0:2888:3888,zk3:2888:3888
  zk3:
    container_name: zk3
    hostname: zk3
    image: bitnami/zookeeper:3.6.2
    ports:
      - 21813:2181
    environment:
      - ALLOW_ANONYMOUS_LOGIN=yes
      - ZOO_SERVER_ID=3
      - ZOO_SERVERS=zk1:2888:3888,zk2:2888:3888,0.0.0.0:2888:3888
  zoonavigator:
    container_name: zoonavigator
    image: elkozmon/zoonavigator
    ports:
      - 9000:9000

zk1 , zk2zk3 3 노드 클러스터를 설정합니다. 우리가 해야 할 일은 다음과 같습니다.

$ docker-compose up -d zk1 zk2 zk3 zoonavigator
Pulling zk1 (bitnami/zookeeper:3.6.2)...
3.6.2: Pulling from bitnami/zookeeper
ff7c165d667c: Pull complete
68ff1df62e09: Pull complete
b2c65a5b1bba: Pull complete
299e03a29f26: Pull complete
ac359c31a869: Pull complete
73ff1a3aae4d: Pull complete
2ff27ed904ba: Pull complete
671b552f88a4: Pull complete
8a18f1c76d65: Pull complete
144c6a5e1dd4: Pull complete
6c8379a42a77: Pull complete
2c88ec00718c: Pull complete
ce2390504de6: Pull complete
Digest: sha256:4bfdd618105aad42160263e5586b9295aa949a932f9bf7736fe148328adc6e3a
Status: Downloaded newer image for bitnami/zookeeper:3.6.2
Pulling zoonavigator (elkozmon/zoonavigator:)...
latest: Pulling from elkozmon/zoonavigator
bb79b6b2107f: Pull complete
00028440d132: Pull complete
ebd07266fb43: Pull complete
33e3eef28e5d: Pull complete
d356e0493ed9: Pull complete
d20cf66b6cb3: Pull complete
0f036ba81390: Pull complete
4245cea4b993: Pull complete
2b8eb69a8e7b: Pull complete
Digest: sha256:a1089a133f116bd760d361d6b0c0b4cbe2fd28d9a81db13cb53547669e70e933
Status: Downloaded newer image for elkozmon/zoonavigator:latest
Creating zk3          ... done
Creating zoonavigator ... done
Creating zk1          ... done
Creating zk2          ... done


포트 포워딩 덕분에 호스트 서버에서 ZooKeeper 서버에 액세스할 수도 있습니다.

마지막으로 실행할 컨테이너zoonavigator, 웹 기반 ZooKeeper UI 및 많은 기능이 있는 편집기/브라우저를 설정할 수도 있습니다.

URLhttp://localhost:9000/을 사용하여 호스트 서버의 브라우저에서 zoonavigator에 액세스하고 연결 문자열로 zk1를 사용하여 zk2에 연결할 수 있습니다.

좋은 웹페이지 즐겨찾기