卡卡auto.offset.reset查询
Kaka auto.offset.reset query
我的项目使用的是Kafka 0.10.2版本。我在消费者中设置 enable.auto.commit=false 和 auto.offset.reset=latest。如果消费者在维护后重新启动,消费者将再次从第一个偏移量读取,而不是等待最新的偏移量消息。发生这种情况的任何原因?我是不是理解错了配置?
我的要求是消费者不应该自动提交并且应该只读取主题处于活动状态时放入的新消息。
仅仅因为您没有自动提交并不能保证没有手动提交。
无论如何,auto.offset.reset=latest
永远不会将消费者组发送到主题的开头。听起来您正在使用的任何 Kafka 工具/库都在自行调用 consumer.seekToBeginning
调用。
出于理解目的,消费者 属性 auto.offset.reset
根据以下场景确定如果 Kafka 中没有针对消费者的消费者组的有效偏移量要做什么:
– 当某个特定的 Consumer Group 第一次启动时
– 如果Consumer offset小于最小offset
– 如果Consumer offset大于上一个offset
▪ 值可以是以下之一:
– earliest
:自动将偏移量重置为最早可用的
– latest
:自动重置为可用的最新偏移量
– none
:如果找不到先前的偏移量,则抛出异常
消费者组
▪ 默认值为 latest
我的项目使用的是Kafka 0.10.2版本。我在消费者中设置 enable.auto.commit=false 和 auto.offset.reset=latest。如果消费者在维护后重新启动,消费者将再次从第一个偏移量读取,而不是等待最新的偏移量消息。发生这种情况的任何原因?我是不是理解错了配置?
我的要求是消费者不应该自动提交并且应该只读取主题处于活动状态时放入的新消息。
仅仅因为您没有自动提交并不能保证没有手动提交。
无论如何,auto.offset.reset=latest
永远不会将消费者组发送到主题的开头。听起来您正在使用的任何 Kafka 工具/库都在自行调用 consumer.seekToBeginning
调用。
出于理解目的,消费者 属性 auto.offset.reset
根据以下场景确定如果 Kafka 中没有针对消费者的消费者组的有效偏移量要做什么:
– 当某个特定的 Consumer Group 第一次启动时
– 如果Consumer offset小于最小offset
– 如果Consumer offset大于上一个offset
▪ 值可以是以下之一:
– earliest
:自动将偏移量重置为最早可用的
– latest
:自动重置为可用的最新偏移量
– none
:如果找不到先前的偏移量,则抛出异常
消费者组
▪ 默认值为 latest