【问题标题】:How could Kafka 0.8.2.1 with offsets.storage=kafka still require ZooKeeper?带有 offsets.storage=kafka 的 Kafka 0.8.2.1 怎么还需要 ZooKeeper?
【发布时间】:2015-07-13 03:43:09
【问题描述】:

我们正在使用 0.8.2.1 设置一个新的 Kafka 项目,并希望将消费者偏移量专门写入 Kafka。所以我们在消费者配置中设置了offsets.storage=kafkadual.commit.enabled=false。然而,当我们创建消费者连接器时,它仍然想连接到 ZooKeeper:

kafka.consumer.Consumer.createJavaConsumerConnector(config);
// fails with:
// Caused by: java.lang.IllegalArgumentException: requirement failed: 
//      Missing required property 'zookeeper.connect'

我想也许我们只需要指定zookeeper.connect,它会被忽略,所以我指定了一个无效的主机名,但这仍然失败,因为它确实尝试连接。如果可以避免的话,我们真的不希望我们的消费者必须连接到 ZooKeeper。那么是什么给出的呢?

【问题讨论】:

    标签: apache-kafka


    【解决方案1】:

    似乎 ZooKeeper 在 0.8.2 中仍然是一个要求,但他们希望在 0.8.3 中解决这个问题。来自邮件列表中的 Gwen Shapira:

    现有的消费者使用 Zookeeper 来提交偏移量和 将分区分配给相同的不同消费者和线程 消费群体。 虽然偏移量可以在 0.8.2 版本中提交给 Kafka,但 大大减少了Zookeeper的负载,消费者仍然需要 Zookeeper 管理组成员和分区所有权。 新的消费者(我们希望为 0.8.3 版本做好准备)将 完全移除 Zookeeper 依赖,同时管理偏移量和 Kafka 内部的分区所有权。

    【讨论】:

      猜你喜欢
      • 2018-12-22
      • 2023-03-04
      • 2016-11-29
      • 2019-06-08
      • 2017-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-03
      相关资源
      最近更新 更多