使用Python操作kafka

使用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'))

如果以上回答对您有所帮助,点击一下采纳该答案~谢谢