Я использую docker для запуска производителя kafka с командой
kafka-console-producer.sh --topic USER_CREATED_TOPIC --broker-list xxx.xx.x.x:9092`
, где x - номера из назначенного брокера ip.
Мой server.properties
файл содержит
advertised.port=9092
advertised.host.name=xxx.xx.x.x.
listeners=PLAINTEXT://xxx.xx.x.x:9092 line
advertised.listeners=PLAINTEXT://xxx.xx.x.x:9092
Всякий раз, когда я запускаю потребителя из контейнера Docker с помощью команды
kafka-console-consumer.sh --topic USER_CREATED_TOPIC --from-beginning --bootstrap-server xxx.xx.x.x:9092
и что-то пишу в консоли производителя, я получаю результат в получателе (здесь нет ошибки)
Однако, когда я пытаюсь подключиться через скрипт Python, используя:
from kafka import KafkaConsumer
consumer =
kafkaConsumer("USER_CREATED_TOPIC",bootstrap_servers=
['xxx.xx.x.x:9092'])
for msg in consumer:
print (msg)
Я получаю ошибку NoBrokersAvailable
.
Я читаю пару потоков в stackoverflow (перечислилдобавлены элементы в server.properties
, основанные на этих ответах), но я все еще не могу подключиться к производителю kafka через python.
Любая помощь приветствуется.