我们可以通过以下方式获得卡夫卡的每条信息:
bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning
是否有一种方法只获取的最后一条消息?
编辑:
如果您只想监视流中的一些消息(--max-messages 10
),那么一个方便的命令是:
watch -n5 "./bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic auction --max-messages 10"
发布于 2018-04-26 10:35:07
我不知道任何自动化,但使用这种简单的两步方法,它应该可以工作。注意,在我的例子中,它是一个分区的主题,如果您有一个未分区的主题,您可以将它的params排除在外:
1)为您的主题获取最大偏移量(+它们的分区):
bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9092 --topic mytopic
mytopic:2:11
mytopic:1:7
mytopic:0:15
mytopic:3:8
2)选择一个主题(+分区)并提供偏移量- n 作为参数:
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic mytopic --offset 10 --partition 0
主题的最后n条消息将打印到控制台。在我的示例中,它将显示5条消息(= 15-10)。
发布于 2021-12-16 11:57:26
使用KafkaCat偏移量-o
可以指定负值:
kcat -b localhost:9092 -t mytopic -o -1
最后5条消息使用-o -5
等。
发布于 2021-07-15 02:33:53
使用KafkaCat (https://docs.confluent.io/platform/current/app-development/kafkacat-usage.html),可以读取Apache主题的最后N条消息。
https://stackoverflow.com/questions/33170875
复制相似问题