AdminClient创建完Topic后,KafkaProducer可以正常生产数据,但是KafkaConsumer消费不到数据,求助

骑着猴子打僵尸 发表于: 2018-01-31   最后更新时间: 2020-12-23 15:41:39   5,551 游览

AdminClient创建完Topic后,用KafkaProducer可以成功发送消息到kafka上,但是KafkaConsumer消费不到数据,用KafkaProducer多发几次消息之后KafkaConsumer才能开始消费数据,而且是从中间的数据开始消费的,KafkaProducer最初发的几遍数据是消费不到了。

如题,实在找不到原因。。。

发表于 2018-01-31

查看了一下官方配置,看到KafkaConsumer的配置里有一个auto.offset.reset属性,这个配置项的默认值是“latest”,而当我们新建一个group对主题订阅的时候,第一次应该是符合这个要求的(无法知道当前的offset值),这个时候就触发了“latest”这个配置值对应的操作,也就是说把当前topic里面最新的偏移作为offset,那显然,该消费者是读不到主题中的历史信息的,于是把配置的值改为“earliest”,发现正常了,
需要注意的是,这个配置只在group第一次订阅主题的时候触发,一旦这个offset值被确定下来了,你再把这个配置改成“earliest”就没效果了,因为他已经不符合这个条件了

你的答案

查看kafka相关的其他问题或提一个您自己的问题