Spring Cloud Stream Kafka 无法连接

Spring Cloud Stream Kafka won't connect

我正在使用这个 docker 撰写:

version: '2'
services:

  zookeeper:
    image: confluentinc/cp-zookeeper:4.1.1
    hostname: zookeeper
    ports:
    - "32181:32181"
    environment:
      ZOOKEEPER_CLIENT_PORT: 32181
      ZOOKEEPER_TICK_TIME: 2000
      ZOOKEEPER_SYNC_LIMIT: 2

  kafka:
    image: confluentinc/cp-kafka:4.1.1
    hostname: kafka
    ports:
    - "29092:29092"
    depends_on:
    - zookeeper
    environment:
      KAFKA_BROKER_ID: 1
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:32181
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:29092
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1

我的属性是:

spring.cloud.stream.bindings.event.binder=event-binder
spring.cloud.stream.bindings.event.destination=event    

spring.cloud.stream.binders.event-binder.type=kafka

spring.cloud.stream.kafka.binder.brokers=localhost:29092
spring.cloud.stream.kafka.binder.zkNodes=localhost:32181

但是我收到这个错误:

9:54:14.534 [main] INFO  o.a.kafka.common.utils.AppInfoParser - Kafka version : 2.0.1
19:54:14.534 [main] INFO  o.a.kafka.common.utils.AppInfoParser - Kafka commitId : fa14705e51bd2ce5
19:54:14.576 [kafka-admin-client-thread | adminclient-1] WARN  o.apache.kafka.clients.NetworkClient - [AdminClient clientId=adminclient-1] Connection to node -1 could not be established. Broker may not be available.
19:54:14.679 [kafka-admin-client-thread | adminclient-1] WARN  o.apache.kafka.clients.NetworkClient - [AdminClient clientId=adminclient-1] Connection to node -1 could not be established. Broker may not be available.
19:

我的 spring 引导版本是 2.1。4.RELEASE 我的 spring 云版本是 Greenwich.SR1。

提前致谢!

有了那个配置,我想你需要

KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:29092

您应该配置:

spring.cloud.stream.kafka.binder.brokers=PLAINTEXT://你的host:29092 spring.cloud.stream.kafka.binder.zkNodes=PLAINTEXT://你的host:29092

在文件 docker-compose.yml 中你应该有: KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://你的host:29092 如果在 docker 中连接成功并且您在 spring 云流中 运行 成功。