我正在創(chuàng)建兩個(gè) docker-compose 文件(主要是因?yàn)槲也幌朐陂_發(fā)我的應(yīng)用程序時(shí)必須不斷重啟我的基礎(chǔ)設(shè)施。)它們需要駐留在同一個(gè) docker 網(wǎng)絡(luò)上,以便它們可以使用別名進(jìn)行連接。這些文件類似于以下內(nèi)容:應(yīng)用程序:version: '3.5'networks: default: name: kafka_network driver: bridgeservices: client: build: context: . dockerfile: ./Dockerfile working_dir: /app/ command: ./client environment: BADDR: kafka:9092 CGROUP: test_group TOPICS: my-topic基礎(chǔ)設(shè)施:version: '3.5'networks: default: name: kafka_network driver: bridgeservices: zookeeper: image: confluentinc/cp-zookeeper:latest ports: - 2181:2181 environment: ZOOKEEPER_CLIENT_PORT: 2181 ZOOKEEPER_TICK_TIME: 2000 kafka: image: confluentinc/cp-kafka:latest depends_on: - zookeeper ports: - 9092:9092 environment: KAFKA_BROKER_ID: 1 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:29092,PLAINTEXT_HOST://localhost:9092 KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1我的問題是客戶端沒有正確解析 kafka:9092 ...它總是解析為127.0.0.1:9092.錯(cuò)誤:Broker: kafka:9092Consumer_Group: my_groupTopics: [my-topic]Created Consumer rdkafka#consumer-1% Error: GroupCoordinator: Connect to ipv4#127.0.0.1:9092 failed: Connection refused (after 0ms in state CONNECT)在本地運(yùn)行時(shí),它似乎運(yùn)行良好,所以我真的很困惑可能是什么問題。如果有人對(duì)此有所了解,我將不勝感激!當(dāng)?shù)氐模篬procyclinsur@P-428 client]$ ./clientBroker: localhost:9092Consumer_Group: my-groupTopics: [my-topic]Created Consumer rdkafka#consumer-1% AssignedPartitions: [my-topic[0]@unset]% Message on my-topic[0]@0:hello mate
1 回答

元芳怎么了
TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超7個(gè)贊
這是與您的 Kafka 配置相關(guān)的問題——根本與 docker 無關(guān)。
旁觀:
??KAFKA_ADVERTISED_LISTENERS:?PLAINTEXT://kafka:29092,PLAINTEXT_HOST://localhost:9092
這意味著您為您的 Kafka 設(shè)置了 2 個(gè)偵聽器,您的客戶端在連接時(shí)將在 Kafka 的協(xié)議中收到這些偵聽器。
因此,當(dāng)您連接到端口 9092 時(shí),您的客戶端將嘗試通過“l(fā)ocalhost”獲取 Kafka,而當(dāng)您連接到端口 29092 時(shí),您的客戶端將嘗試通過“kafka”DNS 名稱獲取 Kafka。
它在本地為您工作,因?yàn)槟?Kafka 容器通過 docker 端口部分暴露在 localhost:9092 上。
- 1 回答
- 0 關(guān)注
- 178 瀏覽
添加回答
舉報(bào)
0/150
提交
取消