Кафка на Docker для Windows - не может использовать данные - PullRequest
0 голосов
/ 19 января 2020

Я создал настройку kafka, используя шаблон bitnami / kafka docker. После многократного воссоздания контейнеров (я не смог подключиться к Kafka на 9092), я наконец-то запустил свой кластер. Я полагаю, что проблемы были вызваны тем фактом, что Docker установлен на Windows, а не Linux.

Моя текущая проблема заключается в том, что я не могу принимать сообщения с использованием kafka- python библиотека и следующий фрагмент кода:

from kafka import KafkaConsumer
from kafka import TopicPartition

print('Making connection.')
consumer = KafkaConsumer(bootstrap_servers='localhost:9092')

print('Assigning Topic.')
consumer.assign([TopicPartition('linuxhint', 2)])

print('Getting message.')
for message in consumer:
    print("OFFSET: " + str(message[0])+ "\t MSG: " + str(message))

Код не дает сбоя. Он печатает строку «Получение сообщения» и не завершается sh. Я пытался использовать тот же topi c с помощью приложения Conduktor, и я тоже не могу этого сделать. Кондуктор даже не может прочитать количество и размер топи c. Как я могу устранить это? Я понятия не имею, если честно.

1 Ответ

0 голосов
/ 19 января 2020

Windows или Docker являются проблемой. Это отсутствие полной конфигурации Kafka.

Вам необходимо соответствующим образом настроить KAFKA_CFG_ADVERTISED_LISTENERS и указать правильные порты в вашей команде Docker.

https://github.com/bitnami/bitnami-docker-kafka#accessing -кафка с внутренними и внешними клиентами

...