gpt4 book ai didi

python-kafka,在 Windows 上,返回 'NodeNotReadyError'

转载 作者:可可西里 更新时间:2023-11-01 10:18:26 32 4
gpt4 key购买 nike

我能够使用出色的 python-kafka 从 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 PythonPycharm ,并尝试流式传输一些消息。

不幸的是,在运行消费者后片刻,显示了以下消息:

File "C:\Users\[my_colleague]\AppData\Local\Continuum\Anaconda2\lib\site-packages\kafka\client_async.py", line 598, in connect
raise Errors.NodeNotReadyError(node_id)
kafka.common.NodeNotReadyError: None

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

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

最佳答案

这实际上是在尝试自动探测您的代理版本时出现的错误。这是我们添加到 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')

关于python-kafka,在 Windows 上,返回 'NodeNotReadyError',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35658704/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com