Как исправить ошибку LEADER_NOT_AVAILABLE в Console consumer и producer Apache Kafka?

Пытаюсь развернуть Кафку в Докере с помощью Docker-compose.
Использую машину Macbook Pro M1 с виртуалкой Ubuntu 20.04.
За основу взял вот это руководство и соотвутствующий исходный код (отключил авторизацию и поменял образы т.к. образы в статье для х86 машин).
Zookeeper запускается в отдельном контейнере, Kafka в отдельном.
Все запускается, однако при попытке запуска Console consumer следующим скриптом

/home/ubuntu/kafka/bin/kafka-console-consumer.sh --topic new_topic --from-beginning --bootstrap-server 192.168.0.106:9092


много раз выводится ошибка:

[2021-12-26 16:36:00,362] WARN [Consumer clientId=consumer-console-consumer-32734-1, groupId=console-consumer-32734] Error while fetching metadata with correlation id 3 : {new_topic=LEADER_NOT_AVAILABLE} (org.apache.kafka.clients.NetworkClient)

при попытке создать producer использую следующий скрипт:

/home/ubuntu/kafka/bin/kafka-console-producer.sh --topic new_topic --bootstrap-server localhost:9092

producer создается, однако, при попытке отправки сообщения много раз в консоль выводится ошибка:

[2021-12-26 16:09:53,385] WARN [Producer clientId=console-producer] Error while fetching metadata with correlation id 5 : {new_topic=LEADER_NOT_AVAILABLE} (org.apache.kafka.clients.NetworkClient)

Использую следующий код в файле docker-compose.yml (все образы с docker hub):
version: '2'
services:
  zookeeper:
    image: zookeeper
    expose:
      - "2181"
  kafka:
    image: fogsyio/kafka:2.2.0
    ports:
      - "9092:9092"
    expose:
      - "9093"
    environment:
      KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'true'
#      KAFKA_ADVERTISED_PORT: 9093
#      KAFKA_ADVERTISED_HOST_NAME: localhost
      KAFKA_ADVERTISED_LISTENERS: INSIDE://kafka:9093,OUTSIDE://192.168.0.106:9092
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT
      KAFKA_LISTENERS: INSIDE://0.0.0.0:9093,OUTSIDE://0.0.0.0:9092
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_INTER_BROKER_LISTENER_NAME: INSIDE
      KAFKA_SASL_ENABLED_MECHANISMS: PLAIN
      KAFKA_SASL_MECHANISM_INTER_BROKER_PROTOCOL: PLAIN
    depends_on:
      - zookeeper


заккоментировал строчки, которые пытался добавить для исправления ситуации, они не помогли. Натыкался на посты, где сказано, что это связано с тем, что на момент запуска Кафки топик не существует и при повторной отправке сообщения оно отправится, однако этого не происходит даже после перезапуска producer/consumer.

Что еще можно попробовать? хотел бы задать вопрос автору исходного поста в комментариях, но мой аккаунт позволяет комментировать только свежие посты(
  • Вопрос задан
  • 1095 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы