@lisonok10

Не запускается Kafka в docker-compose, как починить?

Второй день пытаюсь запустить кафку docker-compose:

services:
   zookeeper:
     image: confluentinc/cp-zookeeper:latest
     hostname: zookeeper
     container_name: zookeeper
     environment:
       ZOOKEEPER_CLIENT_PORT: 2181
       ZOOKEEPER_TICK_TIME: 2000
     volumes:
       - ./tmp/docker/zookeeper/data:/var/lib/zookeeper/data
       - ./tmp/docker/zookeeper/logs:/var/lib/zookeeper/log

   broker:
     image: confluentinc/cp-enterprise-kafka:latest
     hostname: broker
     container_name: broker
     depends_on:
       - zookeeper
     environment:
       KAFKA_BROKER_ID: 1
       KAFKA_ZOOKEEPER_CONNECT: 'zookeeper:2181'
       KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
       KAFKA_ADVERTISED_LISTENERS: PLAINTEXT_HOST://broker:29092,PLAINTEXT://broker:9092
       KAFKA_METRIC_REPORTERS: io.confluent.metrics.reporter.ConfluentMetricsReporter
       KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
       KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
       CONFLUENT_METRICS_REPORTER_BOOTSTRAP_SERVERS: broker:9092
       CONFLUENT_METRICS_REPORTER_ZOOKEEPER_CONNECT: zookeeper:2181
       CONFLUENT_METRICS_REPORTER_TOPIC_REPLICAS: 1
       CONFLUENT_METRICS_ENABLE: 'true'
       CONFLUENT_SUPPORT_CUSTOMER_ID: 'anonymous'
     ports:
       - 9092:9092
       - 29092:29092
     volumes:
       - ./tmp/docker/kafka/data:/var/lib/kafka/data

networks:
  default:
    driver: bridge
    driver_opts:
      com.docker.network.enable_ipv6: "true"
      com.docker.network.bridge.enable_ip_masquerade: "true"

volumes:
  mi2: {}


ZooKeeper запускается успешно, а сама kafka нет.
Вот полный лог ошибки которую я получаю при поптыке запустить кафку в docker-compose.
640393400a933832993433.png
Помогите пожалуйста. В чём тут проблема?
  • Вопрос задан
  • 314 просмотров
Решения вопроса 3
i229194964
@i229194964
Веб разработчик
Чтобы решить эту проблему
Попробуйте добавить в broker секцию networks с указанием сети, которая была создана для проекта Docker-compose.
networks:
  default:
    external:
      name: my_network

Убедитесь, что в вашем /etc/hosts файле есть запись для broker. Например, вы можете добавить следующую запись:127.0.0.1 broker
Попробуйте использовать IP-адрес вместо имени хоста broker в конфигурации Kafka. Например, замените KAFKA_ZOOKEEPER_CONNECT: 'zookeeper:2181' на KAFKA_ZOOKEEPER_CONNECT: '172.20.0.2:2181', где 172.20.0.2 - это IP-адрес контейнера ZooKeeper.

Проверьте, что у вас нет блокировки IP-адресов на вашем компьютере или в вашей сети.
Ответ написан
@lisonok10 Автор вопроса
pkill docker
iptables -t nat -F
ifconfig docker0 down
brctl delbr docker0
docker-compose down


решило все проблеммы
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
mayton2019
@mayton2019
Bigdata Engineer
Сравнительно недавно в Кафку завезли новый стандарт кворума на основе Raft-протокола. Это означает что Смотритель зоопарка будет скоро не нужен и его можно будет выкинуть нафик. А все ноды Кафки будут решать кворумные вопросы самостоятельно.
Ответ написан
Ваш ответ на вопрос

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

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