我试图以远程生产者的身份通过python向Kafka主题发送数据。我的脚本没有报告异常,但在Kafka中没有显示任何内容。我能够使用consumer方法从代理(都在一个单独的主机上)获得响应。浏览我看到的论坛,以确保并刷新写缓存,但没有运气。脚本如下:
from kafka import KafkaProducer, KafkaConsumer
from json import dumps
producer = KafkaProducer(bootstrap_servers='192.168.1.100:9093', value_serializer=lambda x: dumps(x).encode('utf-8'))
producer.send('home-sensehat-temperature',{"timestamp": "2020-08-12 23:31:19.102347", "temperature": 127.6969})
producer.flush()
consumer=KafkaConsumer(bootstrap_servers='192.168.1.100:9093')
print(consumer.topics())我从consumer.topics()得到的响应是:{‘home-sensehat-温度’,'home-camera-path','home-sensehat-humidity','home-sensehat-pressure'}
因此,这意味着我可以与经纪人建立良好的联系。
我试着翻了翻kafka broker的日志,但什么也没找到。任何帮助都将不胜感激!
发布于 2020-08-21 00:24:30
明白了!远程生产者上的一切正常,但我必须在代理上添加一个配置参数。具体地说,就是每个代理使用的config/server.properties文件中的advertised.listeners参数。详细信息请参见以下帖子:
Kafka : How to connect kafka-console-consumer to fetch remote broker topic content?
谢谢大家!
https://stackoverflow.com/questions/63406291
复制相似问题