Не удается подключить приложение Spring к debezium kafka

Я пытаюсь подключить свое весеннее приложение к debezium / kafka: 0.10, но безуспешно. Первоначально приложение использовало изображение wurstmeister / kafka, но теперь я представляю новую функциональность с debezium и хочу использовать только один образ kafka для обоих. Я не могу подключить ни одно приложение к debezium kafka или debezium к wurstmeister kafka. Кто-нибудь знает, можно ли использовать только одно изображение для обоих? Любые идеи приветствуются :)

Проблема в том, что приложение не может создать тему в контейнере debezium. А также debezium не может работать с изображением wurstmeister kafka.

ERROR 18864 --- [           main] o.springframework.kafka.core.KafkaAdmin  : Could not configure topics

org.springframework.kafka.KafkaException: Timed out waiting to get existing topics; nested exception is java.util.concurrent.TimeoutException
    at org.springframework.kafka.core.KafkaAdmin.lambda$checkPartitions$2(KafkaAdmin.java:235) ~[spring-kafka-2.2.3.RELEASE.jar:2.2.3.RELEASE]
    at java.base/java.util.HashMap.forEach(HashMap.java:1336) ~[na:na]
services:
  zookeeper:
    image: debezium/zookeeper:0.10
    ports:
      - 2181:2181
      - 2888:2888
      - 3888:3888
  kafka:
    image: debezium/kafka:0.10
    ports:
      - 9092:9092
    links:
      - zookeeper
    environment:
      - ZOOKEEPER_CONNECT=zookeeper:2181
      - ADVERTISED_HOST_NAME=10.0.75.1
  connect:
    image: debezium/connect:0.10
    ports:
      - 8083:8083
    links:
      - kafka
      - mysql
    environment:
      - BOOTSTRAP_SERVERS=kafka:9092
      - GROUP_ID=1
      - CONFIG_STORAGE_TOPIC=my_connect_configs
      - OFFSET_STORAGE_TOPIC=my_connect_offsets
      - STATUS_STORAGE_TOPIC=my_connect_statuses

person sherybedrock    schedule 20.09.2019    source источник
comment
comment
Абсолютно другой   -  person sherybedrock    schedule 20.09.2019
comment
Тогда могу я предложить вам предоставить более подробную информацию о вашей среде, коде и конфигурации? Вы пробовали два разных изображения с одинаковым результатом. Без более подробной информации трудно диагностировать основную проблему.   -  person Naros    schedule 20.09.2019
comment
Похоже, вы неправильно настроили свойство ADVERTISED_HOST_NAME. Debezium работает с любым контейнером Kafka   -  person OneCricketeer    schedule 20.09.2019
comment
ADVERTISED_HOST_NAME - ›172.0.0.1:9092, если у кого-то есть пример конфигурации с debezium, работающим с другой кафкой, чем debezium / kafka, приветствуется   -  person sherybedrock    schedule 21.09.2019


Ответы (1)


Наряду с ADVERTISED_HOST_NAME вам необходимо добавить ADVERTISED_LISTENERS в среду контейнера.

ADVERTISED_LISTENERS - брокер зарегистрирует это значение в zookeeper, и когда внешний мир захочет подключиться к вашему кластеру Kafka, они смогут подключиться по сети, которую вы указываете в свойстве ADVERTISED_LISTENERS.

пример:

environment:
    - ADVERTISED_HOST_NAME=<Host IP>
    - ADVERTISED_LISTENERS=PLAINTEXT://<Host IP>:9092
person Anand Immannavar    schedule 14.05.2020