Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python KafkaTimeoutError(';在60.0秒后更新元数据失败。';)_Python_Apache Kafka_Kafka Python - Fatal编程技术网

Python KafkaTimeoutError(';在60.0秒后更新元数据失败。';)

Python KafkaTimeoutError(';在60.0秒后更新元数据失败。';),python,apache-kafka,kafka-python,Python,Apache Kafka,Kafka Python,我正在使用Python 3.6编写Kafka producer,Python Kafka客户端版本为1.4.4。Kafka版本为:2.1.0和1.1.1(尝试了两个版本),但当我向producer写入消息时,抛出以下错误: KafkaTimeoutError('Failed to update metadata after 60.0 secs.') 这是我的客户代码: producer = KafkaProducer( bootstrap_servers=['mq-server:9092'

我正在使用Python 3.6编写Kafka producer,Python Kafka客户端版本为1.4.4。Kafka版本为:2.1.0和1.1.1(尝试了两个版本),但当我向producer写入消息时,抛出以下错误:

KafkaTimeoutError('Failed to update metadata after 60.0 secs.')
这是我的客户代码:

producer = KafkaProducer(
  bootstrap_servers=['mq-server:9092'],
  api_version = (0,10,2,0) # solve no broker error
)

producer.send("dolphin-test".encode('utf-8'),b"test")
这是我被修改的服务器配置:

listeners=PLAINTEXT://10.142.0.2:9092
advertised.listeners=PLAINTEXT://10.142.0.2:9092
当使用脚本生成和使用消息时,它工作得很好!这是客户端跟踪输出:

D:\project\souce\pydolphin-service>D:/Programs/Python/Python37/python.exe d:/project/souce/pydolphin-service/dolphin/producer.py
Traceback (most recent call last):
  File "d:/project/souce/pydolphin-service/dolphin/producer.py", line 14, in <module>
    future = producer.send('my-topic', b'raw_bytes')
  File "D:\Programs\Python\Python37\lib\site-packages\kafka\producer\kafka.py", line 555, in send
    self._wait_on_metadata(topic, self.config['max_block_ms'] / 1000.0)
  File "D:\Programs\Python\Python37\lib\site-packages\kafka\producer\kafka.py", line 682, in _wait_on_metadata
    "Failed to update metadata after %.1f secs." % (max_wait,))
kafka.errors.KafkaTimeoutError: KafkaTimeoutError: Failed to update metadata after 60.0 secs.
D:\project\souce\pydolphin service>D:/Programs/Python/Python37/Python.exe D:/project/souce/pydolphin service/dolphin/producer.py
回溯(最近一次呼叫最后一次):
文件“d:/project/souce/pydolphin service/dolphin/producer.py”,第14行,in
future=producer.send('my-topic',b'raw_bytes')
文件“D:\Programs\Python\Python37\lib\site packages\kafka\producer\kafka.py”,第555行,在send中
self.\u等待\u元数据(主题,self.config['max\u block\u ms']/1000.0)
文件“D:\Programs\Python\Python37\lib\site packages\kafka\producer\kafka.py”,第682行,在元数据上的“等待”
未能在%.1f秒后更新元数据。“%(最大等待时间,))
kafka.errors.KafkaTimeoutError:KafkaTimeoutError:在60.0秒后更新元数据失败。

我正在谷歌、百度和yandex进行区域搜索。

是否有防火墙与您的dev box和kafka服务器相连。您是否可以尝试telnet mq server 9092

调整广告配置:

advertised.listeners=PLAINTEXT://external-ip:9092

将NAT内部网络ip修改为公共网络ip。因为制作人会将消息发送到此地址。制片人只能向公众开放

只需尝试
listeners=PLAINTEXT://:9092
并验证
mq服务器
是否为
10.142.0.2