Apache kafka 无法在kafka中列出代理id
我有一个docker文件Apache kafka 无法在kafka中列出代理id,apache-kafka,Apache Kafka,我有一个docker文件 version: '3' services: zookeeper: image: wurstmeister/zookeeper ports: - "2181:2181" kafka: image: wurstmeister/kafka ports: - "9092" environment: KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localho
version: '3'
services:
zookeeper:
image: wurstmeister/zookeeper
ports:
- "2181:2181"
kafka:
image: wurstmeister/kafka
ports:
- "9092"
environment:
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092
KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_CREATE_TOPICS: "test-topic:5:2"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
我经营着两个经纪人
docker-compose scale kafka=2
现在我想通过在kafka的docker bash中运行这个文件来获取代理的id
zookeeper-shell.sh localhost:2181 ls /brokers/ids
我得到的只是:-
Connecting to localhost:2181
KeeperErrorCode = ConnectionLoss for /brokers/ids
但是我能够使用并生成消息,知道为什么会发生这种情况吗?您指定的是
localhost
,但是Zookeeper与Kafka在一个单独的容器中
尝试:
还要注意的是,docker compose scale kafka=2
不会启动第二个代理程序-它在使用
kafka_2 | [2020-04-28 14:55:19,104] ERROR [KafkaServer id=1002] Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer)
kafka_2 | java.lang.IllegalArgumentException: requirement failed: Configured end points localhost:9092 in advertised listeners are already registered by broker 1001
如果您想要Docker Compose运行多个代理的示例,请检查。我遵循了此
http://wurstmeister.github.io/kafka-docker/
,但是我没有得到关于刻度的错误,加上我应该做的听众,如果它在不同的容器中?另外,是否有任何文档可以让我找到要指定的参数,`zookeeper-shell.sh ls/brokers/ids`,基本上,我是盲目复制代码的,没有理解。你想实现什么?我已经链接到一个Docker Compose,它展示了如何正确运行多个代理。好的,让我来看看。谢谢
kafka_2 | [2020-04-28 14:55:19,104] ERROR [KafkaServer id=1002] Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer)
kafka_2 | java.lang.IllegalArgumentException: requirement failed: Configured end points localhost:9092 in advertised listeners are already registered by broker 1001