[英]Unable to create Kafka topics with Kafka and Zookeeper running on Docker
我有 Kafka 和 Zookeeper 在两个单独的 Docker 容器上运行:
<private-domain>/wurstmeister-kafka:0.10.1.0-2
<private-domain>/wurstmeister-zookeeper:3.4.9
两个容器似乎都已启动,但是当我尝试通过进入第一个容器来创建 Kafka 主题时:
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
我收到此错误:
java.net.ConnectException: Connection refused
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)
at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361)
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1141)
[2020-06-07 03:10:55,293] WARN Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect (org.apache.zookeeper.ClientCnxn)
请注意,我确实阅读了其他相关问题并尝试将 arguments 添加到命令中,例如-e ZK_HOSTS="localhost:2181"
。 我知道在我的环境中工作的其他人能够成功运行命令,所以我怀疑这可能是我这边的配置问题。 你能指导一下吗?
编辑:这里是 Docker 撰写文件:
version: '2'
services:
kafka:
image: <private-domain>/wurstmeister-kafka:0.10.1.0-2
container_name: kafka
ports:
- 9092:9092
environment:
KAFKA_ADVERTISED_HOST_NAME: 127.0.0.1
KAFKA_ADVERTISED_PORT: 9092
KAFKA_ZOOKEEPER_CONNECT: 127.0.0.1:2181
restart:
"unless-stopped"
和
version: '2'
services:
zk:
image: <private-domain>/wurstmeister-zookeeper:3.4.9
container_name: zk
ports:
- "2181:2181"
restart:
"unless-stopped"
和docker ps
的 output :
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bf67a49da57a wurstmeister-kafka:0.10.1.0-2 "start-kafka.sh" 5 months ago Up 29 minutes 0.0.0.0:9092->9092/tcp kafka
ef3e908d82b3 wurstmeister-zookeeper:3.4.9 "/bin/sh -c '/usr/sbin/sshd && bash /usr/bin/start-zk.sh'" 5 months ago Up 29 minutes 22/tcp, 2888/tcp, 3888/tcp, 0.0.0.0:2181->2181/tcp zk
您有两个 Compose 文件。 因此,您的容器位于不同的网络上,不能相互引用。
您必须在一个文件中添加两个服务,在一个services:
阻止,并且只运行一个docker-compose up
命令
您可以在 Internet 上找到工作的 compose 文件,或者您可以将minikube
/ oc
与 Kafka Helm Charts 或 Operators 一起使用,这就是大公司在容器中测试 Kafka 的方式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.