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