gpt4 book ai didi

docker - 如何在 docker swarm 上设置 zookeeper 集群

转载 作者:IT老高 更新时间:2023-10-28 21:24:59 24 4
gpt4 key购买 nike

环境:6个服务器docker swarm集群(2个master和4个worker)

要求:我们需要在现有的 docker swarm 上建立一个 zookeeper 集群。

Blocked on :要在集群中设置 zookeeper,我们需要在每个服务器配置中提供所有 zk 服务器,并在 myid 文件中提供唯一 ID。

问题:当我们在 docker swarm 中创建 zookeeper 的副本时,如何为每个副本提供唯一 ID。另外,我们如何使用每个 zookeeper 容器的 ID 更新 zoo.cfg 配置文件。

最佳答案

目前这不是一个简单的问题。当每个集群成员都需要唯一的身份和存储卷时,完全可扩展的有状态应用程序集群会很棘手。

今天,在 Docker Swarm 上,最好的建议是在 compose 文件中将每个集群成员作为单独的服务运行(参见 31z4/zookeeper-docker):

version: '2'
services:
zoo1:
image: 31z4/zookeeper
restart: always
ports:
- 2181:2181
environment:
ZOO_MY_ID: 1
ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888

zoo2:
image: 31z4/zookeeper
restart: always
ports:
- 2182:2181
environment:
ZOO_MY_ID: 2
ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
..
..

对于最先进(但仍在不断发展)的解决方案,我建议查看 Kubernetes:

Statefulsets的新概念|提供了很多 promise 。我预计 Docker Swarm 会随着时间的推移发展出类似的能力,其中每个容器实例都被分配一个唯一且“粘性”的主机名,它可以用作唯一标识符的基础。

关于docker - 如何在 docker swarm 上设置 zookeeper 集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42062598/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com