使用Avro时如何查看Kafka主题中的消息?
查看Avro格式Kafka消息的方法
调整Ui for Apache Kafka的消息查看配置
在UI的主题消息查看界面,手动指定消息的key和value格式为Avro,同时确认UI全局设置中已正确配置Schema Registry地址。配置完成后,UI会自动从Schema Registry拉取对应版本的Schema,将二进制消息解析为可读的JSON格式。使用kafka-avro-console-consumer命令行工具
这是Confluent生态自带的命令行工具,直接支持对接Schema Registry解析Avro消息,执行以下命令即可输出解析后的内容:kafka-avro-console-consumer --bootstrap-server <kafka-broker地址> --topic <目标主题名> --from-beginning --property schema.registry.url=<Schema Registry地址>替换尖括号中的实际地址和主题名,就能从开头消费并查看解析后的消息。
编写自定义解析脚本
用支持Avro和Kafka的客户端库编写简单消费脚本,比如Python的confluent-kafka库,示例代码如下:from confluent_kafka.avro import AvroConsumer conf = { 'bootstrap.servers': 'localhost:9092', 'group.id': 'avro-view-group', 'auto.offset.reset': 'earliest', 'schema.registry.url': 'http://localhost:8081' } consumer = AvroConsumer(conf) consumer.subscribe(['your-topic']) try: while True: msg = consumer.poll(1.0) if msg and not msg.error(): print(f"解析后的消息: {msg.value()}") except KeyboardInterrupt: pass finally: consumer.close()运行脚本即可实时查看解析后的Avro消息内容。
使用支持Avro的第三方Kafka UI工具
比如Confluent Control Center、AKHQ等工具,这些工具默认集成了Schema Registry对接能力,只要在工具配置中填入Schema Registry地址,就能直接查看解析后的Avro消息内容。
内容的提问来源于stack exchange,提问作者user1555190
相关产品推荐
相关产品推荐

