【问题标题】:How to scale Zookeeper with kafka如何使用 kafka 扩展 Zookeeper
【发布时间】:2019-03-22 03:35:19
【问题描述】:

我正在努力扩展 Prod 中的 kafka 集群。 Confluent 提供了添加 kafka 代理的简单方法。但是,我怎么知道如何与 Kafka 一起扩展 zookeeper。比例应该是多少?现在我们为 5 个 kafka 代理提供了 5 个 zookeeper 节点。如果我有 10 个 kafka 代理,应该有多少个 zookeeper 节点?

【问题讨论】:

  • Confluent 只打包 Apache Kafka。 kafka-server-start 是在任何安装中添加节点的唯一方法。
  • @cricket_007 谢谢,但问题不在于如何扩展。但是我们缩放 zookeeper:kafka 代理的比例是多少?
  • 我只是指“Confluent 提供了添加 kafka 代理的简单方法”

标签: apache-kafka apache-zookeeper


【解决方案1】:

Zookeeper 作为 Apache Kafka 的协调服务,用于存储 kafka 集群的元数据。 Zookeeper 集群称为 ensemble。

zookeeper ensemble 中的服务器数量是奇数(3,5 等)。这些数字代表您的集群的容错程度。三节点 ensemble,您可以在缺少一个节点的情况下运行。

使用五个节点集成,您可以在缺少两个节点的情况下运行,并且您的集群将可用。

您可以根据您希望系统运行故障的程度来添加尽可能多的 ZooKeeper 服务器,但是对于延迟开销和这些节点之间过度通信的问题,不建议使用超过 7 个节点的 ZooKeeper 集群。

【讨论】:

  • 谢谢罗希特。 zookeeper:Kafka brokers的推荐比例是多少。
  • 它基于系统可用性问题,例如我有两个 kafka 代理,但我希望它们具有高度容错性,因此我可以使用 zookeeper 3,5,7,9,11。无需维护任何 zookeeper:kafka 比例,完全是为了让系统容错。
  • 没错。我怎么知道容量。因为 zookeeper 的数量将取决于 zookeeper 处理 kafka 集群的能力。例如,一个 Kafka 代理可以处理多达 4000 个分区。同样,我试图找出一组 Zookeeper 集群可以处理多少个 kafka 代理。我们可以假设选择 11 个 Zookeeper 和 50 个 Kafka 代理。该系统仍然具有高可用性,但它是否高效。
  • zookeeper:ratio计算没有这样的公式。community.hortonworks.com/questions/35287/…
  • 经验法则:较小的集群有 3 个 Zookeeper 节点。较大的生产部署通常有 5 个。很少看到 7 个以上的 Zookeeper 节点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-07-12
  • 1970-01-01
  • 2019-01-12
  • 2018-11-22
  • 2019-10-04
  • 2018-05-20
  • 1970-01-01
相关资源
最近更新 更多