[英]Kafka Connection Problem with Docker Compose
我有以下 docker compose yml,
version: '3.5'
services:
zookeeper:
container_name: kafka-zookeeper
image: wurstmeister/zookeeper:3.4.6
ports:
- "2181:2181"
networks:
- my-network
kafka:
container_name: kafka-server
image: wurstmeister/kafka:2.12-2.5.0
ports:
- "9092:9092"
links:
- zookeeper
environment:
KAFKA_LISTENERS: PLAINTEXT://:9092
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://127.0.0.1:9092
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
volumes:
- /var/run/docker.sock:/var/run/docker.sock
networks:
- my-network
networks:
my-network:
driver: bridge
我參考了以下參考資料,
https://github.com/wurstmeister/kafka-docker/wiki/Connectivity
我的 spring boot application.yml 文件如下,
kafka:
bootstrap:
url: 127.0.0.1:9092
錯誤是,
[taKafkaProducer] org.apache.kafka.clients.NetworkClient : [Producer clientId=SensorDataKafkaProducer] Connection to node -1 (/127.0.0.1:9092) could not be established. Broker may not be available.
我可以通過客戶端工具連接 Kafka 並查看偵聽器詳細信息127.0.0.1:9092
bd919e5a4df2 wurstmeister/kafka:2.12-2.5.0 "start-kafka.sh" About a minute ago Up About a minute 0.0.0.0:9092->9092/tcp kafka-server
9b94b7dac237 wurstmeister/zookeeper:3.4.6 "/bin/sh -c '/usr/sb…" About a minute ago Up About a minute 22/tcp, 2888/tcp, 3888/tcp, 0.0.0.0:2181->2181/tcp kafka-zookeeper
配置有問題嗎?
使用用戶定義的橋接網絡,容器可以通過名稱或別名相互解析。 因此,在您的情況下 application.yml 應指向 kafka 容器名稱:
kafka:
bootstrap:
url: kafka-server:9092
此外,它還可以通過容器名稱配置 kafka 廣告偵聽器:
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka-server:9092
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.