【发布时间】:2021-06-02 20:27:10
【问题描述】:
我们的问题是内部属性 kafka.bootstrap.servers 不会被 kafka:9092 覆盖。 我们的容器仍然尝试访问 localhost:9092。
我们在 docker-compose.yml 文件中为每个微服务的环境设置了: 环境: - kafka.bootstrap.servers=kafka:9092 每个MS的属性也一样
有没有办法覆盖这个属性?
编辑: docker-compose.yml 文件的重要部分:
services:
zookeeper:
image: strimzi/kafka:0.19.0-kafka-2.5.0
command:
["sh", "-c", "bin/zookeeper-server-start.sh config/zookeeper.properties"]
ports:
- "2181:2181"
environment:
LOG_DIR: /tmp/logs
kafka:
image: strimzi/kafka:0.19.0-kafka-2.5.0
command:
[
"sh",
"-c",
"bin/kafka-server-start.sh config/server.properties --override listeners=$${KAFKA_LISTENERS} --override advertised.listeners=$${KAFKA_ADVERTISED_LISTENERS} --override zookeeper.connect=$${KAFKA_ZOOKEEPER_CONNECT}",
]
depends_on:
- zookeeper
ports:
- "9092:9092"
environment:
LOG_DIR: "/tmp/logs"
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092
KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
authentication-service:
build:
context: implementation/authentication
dockerfile: src/main/docker/Dockerfile.jvm
environment:
- quarkus.mongodb.connection-string=mongodb://mongodb:27017
- KAFKA_BOOTSTRAP_SERVERS=kafka:9092
container_name: authentication-service-ase
depends_on:
- mongodb
- kafka
我们不断遇到的错误是:
cart-service-ase |
cart-service-ase | {
cart-service-ase | "timestamp": "2021-06-02 12:19:48",
cart-service-ase | "sequence": 378,
cart-service-ase | "loggerClassName": "org.apache.kafka.common.utils.LogContext$LocationAwareKafkaLogger",
cart-service-ase | "loggerName": "org.apache.kafka.clients.NetworkClient",
cart-service-ase | "level": "WARN",
cart-service-ase | "message": "[Consumer clientId=kafka-consumer-checkout-out, groupId=cart] Connection to node 0 (localhost/127.0.0.1:9092) could not be established. Broker may not be available.",
cart-service-ase | "threadName": "vert.x-kafka-consumer-thread-1",
cart-service-ase | "threadId": 38,
cart-service-ase | "mdc": {
cart-service-ase | },
cart-service-ase | "ndc": "",
cart-service-ase | "hostName": "34e4de1e7647",
cart-service-ase | "processName": "quarkus-run.jar",
cart-service-ase | "processId": 1
cart-service-ase | }
【问题讨论】:
-
请edit问题并包括
docker-compose.yml的(相关部分)。 -
而不是
kafka.bootstrap.servers,尝试使用KAFKA_BOOTSTRAP_SERVERS -
仍然收到相同的错误提示:消息:[Consumer clientId=kafka-consumer-register-out, groupId=cart] Connection to node 0 (localhost/127.0.0.1:9092) could not be建立.经纪人可能不可用
-
你试过
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092吗? -
你会把它放在哪里?因为我们在kafka下已经有了: environment: KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092
标签: docker apache-kafka quarkus