Ошибка подключения к локальному Bitnami Docker Kafka из приложения Spring Boot - PullRequest
0 голосов
/ 24 января 2020

Приложение Spring Boot (версия 2.2) с Spring Kafka (версия 2.4) не может установить sh соединение с Bitnami Docker Kafka (версия 2), выполненное из официального docker-compose.yml

version: '2'

services:
  zookeeper:
    image: 'bitnami/zookeeper:3'
    ports:
      - '2181:2181'
    volumes:
      - 'zookeeper_data:/bitnami'
    environment:
      - ALLOW_ANONYMOUS_LOGIN=yes
  kafka:
    image: 'bitnami/kafka:2'
    ports:
      - '9092:9092'
    volumes:
      - 'kafka_data:/bitnami'
    environment:
      - KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
      - ALLOW_PLAINTEXT_LISTENER=yes
    depends_on:
      - zookeeper

volumes:
  zookeeper_data:
    driver: local
  kafka_data:
    driver: local

Приложение Spring продолжает выдавать следующее предупреждение:

[kafka-admin-client-thread | adminclient-1] WARN  o.apache.kafka.clients.NetworkClient.initiateConnect - [AdminClient clientId=adminclient-1] Error connecting to node 2228a9a3b8c5:9092 (id: 1001 rack: null) java.net.UnknownHostException: 2228a9a3b8c5

или

[kafka-admin-client-thread | adminclient-1] WARN  o.apache.kafka.clients.NetworkClient.processDisconnection - [AdminClient clientId=adminclient-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available.

1 Ответ

2 голосов
/ 24 января 2020

Чтобы установить sh соединение с Bitnami Docker Кафка, работающая на `localhost, добавьте следующие переменные окружения:

  • KAFKA_CFG_LISTENERS=PLAINTEXT://:9092
  • KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092

docker-compose.yml Кафка Сервис:

kafka:
  image: 'bitnami/kafka:2'
  ports:
    - '9092:9092'
  volumes:
    - 'kafka_data:/bitnami'
  environment:
    - KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
    - ALLOW_PLAINTEXT_LISTENER=yes
    - KAFKA_CFG_LISTENERS=PLAINTEXT://:9092
    - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...