Пытаюсь развернуть Кафку в Докере с помощью 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.
Что еще можно попробовать? хотел бы задать вопрос автору исходного поста в комментариях, но мой аккаунт позволяет комментировать только свежие посты(