Nano Hash - криптовалюты, майнинг, программирование

KafkaTimeoutError («Не удалось обновить метаданные через 60,0 сек.»)

Я пишу производителя Kafka, используя Python 3.6, клиентская версия Python-kafka — 1.4.4. Версия Kafka: 2.1.0 и 1.1.1 (пробуются две версии), но когда я пишу сообщение производителю, бросаю эта ошибка:

KafkaTimeoutError('Failed to update metadata after 60.0 secs.')

Это мой клиентский код:

producer = KafkaProducer(
  bootstrap_servers=['mq-server:9092'],
  api_version = (0,10,2,0) # solve no broker error
)

producer.send("dolphin-test".encode('utf-8'),b"test")

Это конфигурация сервера, которую я изменил:

listeners=PLAINTEXT://10.142.0.2:9092
advertised.listeners=PLAINTEXT://10.142.0.2:9092

При использовании сценария для создания и потребления сообщения он работает нормально! Это вывод трассировки клиента:

D:\project\souce\pydolphin-service>D:/Programs/Python/Python37/python.exe d:/project/souce/pydolphin-service/dolphin/producer.py
Traceback (most recent call last):
  File "d:/project/souce/pydolphin-service/dolphin/producer.py", line 14, in <module>
    future = producer.send('my-topic', b'raw_bytes')
  File "D:\Programs\Python\Python37\lib\site-packages\kafka\producer\kafka.py", line 555, in send
    self._wait_on_metadata(topic, self.config['max_block_ms'] / 1000.0)
  File "D:\Programs\Python\Python37\lib\site-packages\kafka\producer\kafka.py", line 682, in _wait_on_metadata
    "Failed to update metadata after %.1f secs." % (max_wait,))
kafka.errors.KafkaTimeoutError: KafkaTimeoutError: Failed to update metadata after 60.0 secs.

Я активно ищу в google, baidu и yandex.


  • Попробуйте просто listeners=PLAINTEXT://:9092 и убедитесь, что mq-server равно 10.142.0.2 20.01.2019

Ответы:


1

Есть ли брандмауэр, ч/б ваш dev box и серверы kafka. Можете ли вы попробовать telnet mq-server 9092

21.01.2019

2

Настройте рекламируемый конфиг:

advertised.listeners=PLAINTEXT://external-ip:9092

Измените IP-адрес внутренней сети NAT на IP-адрес общедоступной сети. Потому что производитель отправит сообщение на этот адрес. Продюсер только мог получить доступ к общественному до.

21.01.2019
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

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