почему производитель кафки показывает мне ошибку kafka.conn: не удалось выполнить поиск DNS для <идентификатор контейнера>: 9092? - PullRequest
0 голосов
/ 05 мая 2019

Я выставляю порт 9092, затем запускаю брокер Кафки внутри докера. Но когда я запускаю скрипт python, я получаю ошибки

ERROR:kafka.conn:DNS lookup failed for b5c5b06f6761:9092 (AddressFamily.AF_UNSPEC)

Я попробовал ip докера и ip машины вместо localhost, но выдает ту же ошибку.

Вот мой код.

producer = KafkaProducer(bootstrap_servers=['localhost:9092'],
                         value_serializer=lambda x:
                         dumps(x).encode('utf-8'))

producer.send('vtintel', value={'id':123})

Ответы [ 2 ]

0 голосов
/ 05 мая 2019

Docker обрабатывает DNS только в своей сети, а не с вашего хоста

Вам нужно, чтобы Кафка рекламировал себя извне (на локальном хосте) , что отличается от просто перенаправления порта

И, насколько я могу судить, -p 9092:9092 не является портом, даже отображаемым образом контейнера, который вы используете

0 голосов
/ 05 мая 2019

У меня ранее была похожая проблема с последними версиями kafka.Попробуйте указать локальный адрес как «127.0.0.1» вместо «localhost».это может помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...