Apache Kafka В выборку метаданных темы включены ошибки: {LEADER_NOT_AVAILABLE} - PullRequest
0 голосов
/ 18 июня 2019

Я пытаюсь создать dockerfile, в котором есть wurstmeister / zookeeper и wurstmeister / kafka. Если на моем компьютере я запускаю потребителя и производителя, все работает правильно (я использую zookeeper и kafka на терминале). Но когда я использую этот zookeper и kafka, я имею в виду, когда я запускаю этот dockerfile, я получаю эту ошибку

o.a.k.c.consumer.internals.Fetcher - [Consumer clientId=consumer-1, groupId=consumerGroup1] Topic metadata fetch included errors: {log-monitoring=LEADER_NOT_AVAILABLE}

Я думаю, что проблема с сетью, они не могут найти друг друга в докере. Это мой докер-compose.yml

zookeeper:
  image: wurstmeister/zookeeper
  container_name: "zk"
  ports:
    - "2181:2181"
kafka:
  image: wurstmeister/kafka
  container_name: "kafka"
  ports:
    - "9092:9092"
  environment:
    KAFKA_ADVERTISED_HOST_NAME: 192.168.99.100
    KAFKA_ZOOKEEPER_CONNECT: zk:2181
    KAFKA_CREATE_TOPICS: "log-monitoring"
  links:
    - zookeeper:zk
  volumes:
    - /var/run/docker.sock:/var/run/docker.sock
mongo:
  image: mongo
  container_name: "mongo"
  ports:
    - "27017:27017"

producer:
  image: berat703/kafka-producer:0.0.3
  container_name: "producer"
  environment:
    - KAFKA_BROKER=kafka:9092
  links:
    - kafka:kafka
consumer:
  image: berat703/kafka-consumer:0.0.2
  container_name: "consumer"
  ports:
    - "8080:8080"
  environment:
    - KAFKA_BROKER=kafka:9092
    - MONGODB_HOST=mongo
    - MONGODB_PORT=27017
  links:
    - kafka:kafka

1 Ответ

0 голосов
/ 19 июня 2019

Попробуйте изменить KAFKA_ADVERTISED_HOST_NAME на полное доменное имя Кафки, т.е.kafka.Все, что вы кладете туда, должно быть разрешено производителем.Это поле также устарело, вместо него рекомендуется использовать что-то вроде KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092.

...