需求-故障定位:flink消费kafka数据,某个时间点漏数据
- 背景:kafka数据保留3天,如果第二天,发现程序异常导致数据丢失,需要定位是topic源头无数据,还是程序处理出现异常。
# 1, 设置一个新的group,重置offset为某个时间,格式为'YYYY-MM-DDTHH:mm:SS.sss'
[root@kafka01 ~]# ./bin/kafka-consumer-groups.sh --bootstrap-server kafka01:9092 \
--group t1 --topic topicTest:2,1,0 --reset-offsets \
--to-datetime '2024-11-27T00:00:00.000' --execute
GROUP TOPIC PARTITION NEW-OFFSET
t1 topicTest 2 23227
t1 topicTest 1 12819
t1 topicTest 0 187
[root@kafka01 ~]# ./bin/kafka-consumer-groups.sh --bootstrap-server kafka01:9092 \
--describe --group t1
GROUP TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID
t1 topicTest 2 23227 27151 3924 - - -
t1 topicTest 1 12819 14781 1962 - - -
t1 topicTest 0 187 187 0 - - -
# 2, 使用该group,开始消费数据 (如下演示:消费7条数据,消费offset从 23227 --变为23234 )
[root@kafka01 ~]# ./bin/kafka-console-consumer.sh --bootstrap-server kafka01:9092 \
--topic topicTest --group t1 |head -n 2
#.....打印具体日志...
#Unable to write to standard out, closing consumer.
#Processed a total of 7 messages
[root@kafka01 ~]# ./bin/kafka-consumer-groups.sh --bootstrap-server kafka01:9092 \
--describe --group t1
GROUP TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID
t1 topicTest 2 23234 27151 3917 - - -
t1 topicTest 1 12819 14781 1962 - - -
t1 topicTest 0 187 187 0 - - -