借助KafkaTool在海量Kafka数据快速精准定位/查询目标数据


如何在海量的Kafka数据定位/查询精准到秒级的数据?


解决方案:Kafka命令 + KafkaTool


1. 使用Kafka命令定位Offset

sh ./kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list $ip:$port  -topic ${topic.name} -time $timestamp

参数说明:

  • $ip:Kafka服务IP。
  • $port:Kafka服务端口。
  • ${topic.name}:要查询的主题。
  • $timestamp:要查询的时间点(时间戳进行转换的时候要精确到秒)。
  • 其他说明:该命令在Kafka的bin目录下,所以需要跳转到该bin目录下执行该指令(已添加到环境变量除外)。



举例:我们要查询 topic 为 student,目标时间点在 2023-05-26 05:03:30 的数据,我们可以使用下面的命令:
在这里插入图片描述

上面例子查询结果,出现student 0 和 student 1 是因为 student 主题存在两个分区,所以查询出来是两个分区的Offset。


2. 使用KafkaTool条件过滤查询

① 选中要查询的分区;

② 在 Message 下框中,选择 “From Specific Offset”;

借助KafkaTool在海量Kafka数据快速精准定位/查询目标数据_第1张图片

③ 在 offset 框中输入Kafka命令查询到的偏移量,比如:2566669777;

④ 点击查询按键;

⑤ 查询到目标数据。

借助KafkaTool在海量Kafka数据快速精准定位/查询目标数据_第2张图片

你可能感兴趣的:(后端服务,kafka,分布式)