我正在尝试通过在两个jupyter笔记本中分别设置KafkaProducer和KafkaConsumer的一种非常基本的方式来使用Kafka-Python传输某些数据,类似于本文: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.0秒。
我很清楚,这是先前已经问过的一个问题(KafkaTimeoutError('Failed to update metadata after 60.0 secs.'),https://github.com/dpkp/kafka-python/issues/721等),但是这些情况与我的情况有所不同,或者提供的答案不能解决我的问题。
谢谢!