使用Python操作kafka,在启动zookeeper服务和kafka服务后,先执行producer.py再执行consumer.py,为什么没有打印出内容,没有反应,没有报错?
这种情况多数是由于Python语言中的kafka客户端库不支持协议版本导致的。尝试升级Python kafka客户端库,或使用其他语言的kafka客户端库,例如Java中的kafka-client,来解决问题。
此外,建议在程序中添加日志记录功能,以便出现问题时可以更方便地跟踪和排除问题。同时,可以在消费者端添加一个超时参数,以便在没有消息可消费的情况下不会陷入死循环,例如:
from kafka import KafkaConsumer
consumer = KafkaConsumer(
'topic-name',
bootstrap_servers=['localhost:9092'],
auto_offset_reset='earliest',
enable_auto_commit=True,
group_id='consumer-group-id',
consumer_timeout_ms=1000 # 设置超时时间为1秒
)
for message in consumer:
print(message.value.decode('utf-8'))
如果以上回答对您有所帮助,点击一下采纳该答案~谢谢
自动提交
同步提交
异步提交
异步加同步提交
几种方式的优缺点介绍和代码示例