Я пытаюсь использовать Kafka-Python для очень простого способа потоковой передачи некоторых данных, устанавливая KafkaProducer и KafkaConsumer в двух ноутбуках Jupyter, аналогично этой статье: https://dorianbg.wordpress.com/2017/11/11/ingesting-realtime-tweets-using-apache-kafka-tweepy-and-python/
Настройка моего производителя:
import time
!pip install kafka-python
from kafka import KafkaConsumer, KafkaProducer
producer = KafkaProducer(bootstrap_servers=['localhost:9092'], api_version=(0, 10, 1), max_block_ms = 300000, api_version_auto_timeout_ms=300000)
topic_name = 'test'
def send_data(interval):
while True:
producer.send(topic_name, str(1))
time.sleep(interval)
Настройка моего потребителя:
!pip install kafka-python
from kafka import KafkaConsumer, KafkaProducer
consumer = KafkaConsumer(bootstrap_servers = "localhost:9092",
group_id = "random",
api_version=(0, 10, 1), consumer_timeout_ms=1000)
consumer.subscribe('test')
for message in consumer:
print(message)
Когда я запускаю их в отдельных записных книжках, я получаю следующее сообщение в записной книжке производителя:
KafkaTimeoutError: KafkaTimeoutError: Не удалось обновить метаданные через 300 секунд.
Мне известно, что это вопрос, который был задан ранее ( KafkaTimeoutError ('Не удалось обновить метаданные через 60,0 с. ') , https://github.com/dpkp/kafka-python/issues/721, и т. Д.), Но эти ситуации отличаются от моих, или предоставленные ответы не решают мои проблемы.
Спасибо!