在Windows上,pythonkafka返回“nodenotreadeyerror”

2024-06-01 10:46:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我能够使用优秀的^{}包流式传输来自Kafka主题(运行OSX)的消息,例如:

from kafka import KafkaConsumer

consumer = KafkaConsumer('MyTopic',
                         group_id='alex',
                         bootstrap_servers=['kafka:9092'],
                         auto_offset_reset='largest')

for message in consumer:
    print message.value

一位运行Windows 7的同事问我,他是否可以使用相同的方法流式处理/筛选/警报。”没问题,”我说。我们安装了Anaconda Python和{a3},并尝试流式传输一些消息。在

不幸的是,在运行消费者后不久,将显示以下消息:

^{pr2}$

我怀疑Windows防火墙阻止了消费者和代理之间的通信,所以我们简单地添加了Pycharm和python.exe到可以穿越防火墙的程序列表。那没用。在

在那一点上,我对这个问题有一种归属感,我应该避免在我排除故障时垄断他的笔记本电脑。考虑到Python、Kafka和Windows的流行,我想我们不是第一个面对这个问题的人。你能看出我们做错了什么吗?在


Tags: kafkafromimport消息message主题consumerwindows
1条回答
网友
1楼 · 发布于 2024-06-01 10:46:13

这实际上是在尝试自动探测代理版本时出现的一个错误。这是我们添加到python客户机的一个非标准特性,它使使用同一客户机的代理版本之间的互操作更容易。我强烈建议,一旦您完成了开发阶段,就应该使用api_version参数显式地传递代理版本。被探测的版本由kafka python记录,以防您想要验证,但是从注释来看,这里的版本似乎是0.9。所以在这里

consumer = KafkaConsumer('MyTopic',
                         api_version=(0, 9),
                         group_id='alex',
                         bootstrap_servers=['kafka:9092'],
                         auto_offset_reset='largest')

相关问题 更多 >