我试图通过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-temperature'、'home-camera path'、'home-sensehat-wittery'、'home-sensehat-pressure'}
所以这意味着我可以和经纪人建立良好的关系。
我试着翻遍Kafka经纪人的日志,但什么也没找到。任何帮助都将不胜感激!
1条答案
按热度按时间shstlldc1#
知道了!在远程生产者上一切正常,但我必须在代理上添加一个配置参数。特别是每个代理使用的config/server.properties文件中的advised.listeners参数。详情如下:
kafka:如何连接kafka控制台使用者来获取远程代理主题内容?
谢谢大家!