1. 背景
现需要在Kafka管理平台中加入数据预览功能,浏览topic最新的10条数据,我们需要用startOffset = HighWatermark - 10公式求出起始startOffset,从startOffset开始查询分区中的数据。
但是,在使用KafkaConsumer#seek方法设置offset时不生效,KafkaConsumer#poll始终无法拉取到历史数据,更精确地说,始终只能拉取到最新插入的数据。
环境:
CDH 6.3.2
Kafka 2.2.1
kafka-client 2.2.0
2. 示例
现有如下示例,示例中启动了一个KafkaConsumer并尝试从指定位置消费制定分区
public class KafkaConsumerKerberos {
public static void main(String[] args) throws InterruptedException {
String bootstrapServers = System.getProperty("bootstrapServers");
String topic = System.getProperty("topic");
Properties consumerConfig = new Properties();
consumerConfig.put

在Kafka管理平台实现数据预览功能时遇到KafkaConsumer#seek方法不生效的问题。在CDH 6.3.2和Kafka 2.2.1环境下,尽管尝试设置offset,仍只能获取最新数据。示例代码展示该问题,实验结果显示只有在将auto.offset.reset设置为earliest时,seek方法才能正常工作。
最低0.47元/天 解锁文章
2657

被折叠的 条评论
为什么被折叠?



