【发布时间】:2016-12-12 14:40:36
【问题描述】:
我是分布式系统的新手,我正在使用docker设置一组zookeeper。
例如,我启动了三个 zookeeper:
services:
zoo1:
image: zookeeper
restart: always
ports:
- 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: zookeeper
restart: always
ports:
- 2181
environment:
ZOO_MY_ID: 2
ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
zoo3:
image: zookeeper
restart: always
ports:
- 2181
environment:
ZOO_MY_ID: 3
ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
要启动 kafka,我必须配置其 server.properties。
在 zookeeper.connection=localhost:2181 示例中,我应该在这里配置什么?
zookeeper.connection=zoo1 / zoo2 / zoo3:2181?
或者我应该把他们三个留在那儿?谢谢
[更新]
kafka 当然会配置为在同一个docker-compose.yml 文件中启动。
但是kafka的Dockerfile是本地写的。我认为我应该相应地修改server.properties 中的zookeeper.connect=...,而不是使用localhost。
【问题讨论】:
-
您的 kafka 是否在主机容器上运行?
-
@BuiNgocLuan,是的,它是由
docker-compose在同一个docker-compose.yml中启动的。所以它们应该在同一个网络中。
标签: docker apache-kafka apache-zookeeper