【问题标题】:Confused about commit and fetch consumer offsets in Kafka 1.x对 Kafka 1.x 中的提交和获取消费者偏移量感到困惑
【发布时间】:2018-01-12 06:14:41
【问题描述】:

我使用了以下 Kafka 消费者示例代码:

KafkaConsumer kconsumer = new KafkaConsumer(props);
ConsumerRecords<String, byte[]> records = kconsumer.poll(timeoutInMS);
kconsumer.commitSync();

请教两个问题:

(1)offset commits在哪里提交,到Kafka还是Zookeer?(我知道老kafka版本是提交给zookeeper的,但是在新的kafka版本中,它仍然是提交给ZK,但我什至没有在配置文件中注明zookeeper IP)。

(2) 如果我需要重新使用数据,如何检索已提交的偏移量?

【问题讨论】:

    标签: apache-kafka


    【解决方案1】:

    对于较新的 Kafka 版本,偏移量不会保存在 Zookeeper 中,而是保存在 __commit_offsets 主题中,该主题当然分布在 Kafka 代理中。 Zookeeper 节点没有与提交的偏移量相关的条目,您不需要连接到它。 关于检索最新提交的偏移量,这是在将分区分配给消费者并且此类消费者(通过下划线 Kafka 协议)获取最新提交的偏移量并将开始从那里接收时自动发生的事情。如果要在分区的开头、结尾或特定偏移处查找,可以使用 seekXXXX 方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-22
      • 2022-11-13
      • 2018-12-17
      • 2022-11-11
      • 2016-03-11
      • 1970-01-01
      相关资源
      最近更新 更多