【问题标题】:When using Kafka High Level ConsumerConnector where will offsets be kept?使用 Kafka 高级 ConsumerConnector 时,偏移量将保存在哪里?
【发布时间】:2017-02-21 19:52:23
【问题描述】:

正如新文档所暗示的那样,默认情况下,当使用高级 API 时,Kafka 本身将负责偏移管理。但是当我如下创建一个 ConsumerConnector 时,它仍然需要我提供 zookeeper.connect 属性。

_consumerConnector = Consumer.createJavaConsumerConnector(consumerConfig);

是不是在这种情况下,管理offset的还是zookeeper?谢谢!

【问题讨论】:

    标签: apache-kafka kafka-consumer-api kafka-producer-api apache-kafka-connect


    【解决方案1】:

    从 Kafka 0.9 开始,偏移量存储在一个特殊主题 __consumer_offsets 中。然而,KafkaConsumer 仍然依赖于 ZK(出于其他原因)。在未来的版本中,对 ZK 的依赖将被完全移除。

    【讨论】:

      【解决方案2】:

      这看起来仍然是旧的高级消费者 API。您仍然可以使用 Kafka 中的旧 Scala 消费者管理偏移量,但它需要将 offsets.storage 设置为 Kafka,并且您仍然需要 zookeeper。

      “新”消费者 api 是一个 java api,确实使用 Kafka 进行偏移存储,并且不需要 zookeeper 连接配置。该 api 记录在 here.

      【讨论】:

      • 是的,我在新的 api 文档中发现,使用 KafkaConsumer 时,偏移量可以由 kafka 管理。但它没有提到使用 ConsumerConnector 时会发生什么。你对此有什么想法吗?谢谢!
      • 相信会和老消费者一样,依赖zookeeper
      猜你喜欢
      • 1970-01-01
      • 2016-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-08
      • 2017-03-08
      相关资源
      最近更新 更多