作者:手机用户2602937435 | 来源:互联网 | 2023-02-01 18:12
我正在使用Kafka控制台使用者来使用包含多个分区的主题消息:
kafka-console-consumer.bat --bootstrap-server localhost:9092 --from-beginning --topic events
但它只打印邮件正文.有没有办法打印记录元数据或分区号?因为我想知道消息来自哪里.
我已经探讨了控制台消费者文档http://documentation.kamanja.org/_static/command-ref/kafka-console-consumer.pdf,但未找到任何相关属性.
更新:
因此,我认为唯一的解决方案是覆盖DefaultMessageFormatter.class(我们可以通过使用--formatter属性运行kafka console consumer来设置它)并添加在#writeTo(..)方法中打印记录元数据的自定义逻辑.
1> Hans Jespers..:
考虑使用更强大的Kafka命令行使用者,如kafkacat https://github.com/edenhill/kafkacat/blob/master/README.md
例如,以下命令将打印消耗的每条消息的主题,分区,偏移量和消息有效内容/值:
kafkacat -b -C -t -f '%t %p @ %o: %s\n'