не могу читать \ писать из темы кафки

У меня Kafka работает в контейнере на моем рабочем столе. Я могу легко подключиться к нему с помощью инструмента под названием «Kafka tool», где, например, я могу просматривать свои темы.

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

тема существует и содержит два сообщения (которые я добавил вручную с помощью этого пользовательского интерфейса)

проблема: код, который отправляет сообщения в тему, работает нормально, но сообщения не попадают в Kafka, код, который читает сообщения из темы, ничего не читает. Он сидит как будто нет сообщений для чтения. Кроме того, я могу использовать то же потребление для перечисления тем (что означает, что соединение было успешным)

Версия кафки - 2.4. Есть идеи, в чем может быть проблема? Я пробовал "bootstrap_servers = ['localhost: 9092', 'kafka-server: 9092']", но это тоже не сработало.

Спасибо

введите описание изображения здесь


person Diego    schedule 21.03.2020    source источник


Ответы (1)


  1. KafkaProducer: Вам нужно выполнить flush после send
producer.send('testTopic', b'Hello, World!')
producer.flush()
  1. KafkaConsumer: укажите bootstrap_servers и auto_offset_reset
consumer = KafkaConsumer('testTopic',
                         bootstrap_servers=['localhost:9092'],
                         auto_offset_reset='earliest')
for message in consumer:
    print(message)
person ywbaek    schedule 21.03.2020
comment
Привет, @oldwooki, я указывал bootstrap_servers для потребителя, и я попытался сбросить информацию о производителях, что не помогло. Оказывается, мне пришлось использовать порт 29092, а не 9092 ... есть идеи, почему? Я думал, что 9092 по умолчанию - person Diego; 21.03.2020
comment
@Diego Вы пытаетесь получить доступ к кафке из других контейнеров? - person ywbaek; 21.03.2020
comment
нет, только с моего локального рабочего стола. Но Kafka работает в контейнере, которому сопоставлены оба порта. - person Diego; 21.03.2020
comment
@Diego, тогда это проблема конфигурации докера, а не python. 9092 по умолчанию ... - person OneCricketeer; 22.03.2020