kafka.errors.KafkaTimeoutError: KafkaTimeoutError: 60.0 秒后更新元数据失败
Posted
技术标签:
【中文标题】kafka.errors.KafkaTimeoutError: KafkaTimeoutError: 60.0 秒后更新元数据失败【英文标题】:kafka.errors.KafkaTimeoutError: KafkaTimeoutError: Failed to update metadata after 60.0 secs 【发布时间】:2018-06-23 23:54:23 【问题描述】:我启动一个 docker 容器来运行一个 Kafka 服务器
docker run -p 2181:2181 -p 9092:9092 --env ADVERTISED_HOST=192.168.99.100 --env ADVERTISED_PORT=9092 spotify/kafka
我找到了 Docker 容器的 IP 地址。这是 172.17.0.2,我可以 ping 这个地址。
现在我想要一个发送消息的生产者:
from kafka import KafkaProducer
producer = KafkaProducer(bootstrap_servers='172.17.0.2:9092')
for i in range(100):
producer.send('foobar', b'hola')
producer.close()
但是这给出了: 。
如何解决?
【问题讨论】:
github.com/moby/moby/issues/2174 你能再解释一下吗? 如果您使用 Docker for mac,网络存在一定的限制,并为此提供了一些解决方法,请参阅 docs.docker.com/docker-for-mac/networking/… - 对于 docker-compose,您需要添加link:
看看这个答案***.com/a/48231883/1475386
谢谢,但我在 Ubuntu 16.04 上使用 Docker
对我来说,这是因为我在主题名称中使用了一个空格。可能是您还使用了无效的主题名称。
【参考方案1】:
有同样的错误,但因为我的主题名称不正确/设置,与python_noob 相同。
【讨论】:
以上是关于kafka.errors.KafkaTimeoutError: KafkaTimeoutError: 60.0 秒后更新元数据失败的主要内容,如果未能解决你的问题,请参考以下文章