Docker構成をもつZooKeeperクラスタ


私は、放浪者を使用してZooKeeperクラスタをセットアップすることについて話しました.このポストでは、Docker Composeのおかげで、開発環境で3種類の仮想サーバーを起動する必要はありません.もちろん、DockerやDockerをインストールする必要があります.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
3ノードクラスタ、zk1zk2zk3を設定します.やらなければいけないことは
$ 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サーバにアクセスすることもできました.ポート21811、ポート21812、ポート21813を通してzk1を通して利用できます.
最後に、我々はまた、多くの機能を持つWebベースのZooKeeper UIとエディタ/ブラウザを実行するコンテナを設定することができます.
我々は、URL zoonavigatorを使用して、ホストサーバーのブラウザからZoonAvigatorにアクセスし、接続文字列としてzk2だけを使用してzk3に接続できます.
http://localhost:9000/