gpt4 book ai didi

kubernetes - Kafka/Kubernetes 和自动缩放

转载 作者:行者123 更新时间:2023-12-02 11:43:09 25 4
gpt4 key购买 nike

我有一个关于 Kubernetes 中的 Kafka 的问题,特别是自动缩放......

假设我在 Kubernetes 的 3 个 Pod 中有 3 个 Kafka Broker,并且有一个具有 5 个分区(P1、P2、P3、P4、P5)的 TopicA,复制因子为 3,所有 Broker 都有它们的持久卷,我在 Kubernetes 中有自动缩放配置好,如果它检测到,假设 Kafka Pods 中的 %80 CPU/内存使用率,它将为 Kafka Brokers 启动额外的 Pods...

如果我没有完全错,Kafka 会检测到 Zookeeper 额外的实例并可以移动分区(所以可以说 P1、P2 在 Broker1 和 P3、P4 在 Broker2 和 P5 在 Broker3)所以一个新的 Pod 出现在我会的图片中期望类似于在 Broker1、P3、P4 Broker2、P5 Broker3 和 P2 在 Broker4 跟随 P1。

所以我的第一个问题是,上述假设是否正确,卡夫卡的行为是否如此?

第二个问题是关于向下扩展,让负载峰值消失,我们不需要Pod4,Kubernetes是否可以击落Pod并且Kafka可以返回3 Brokers配置,这是我不确定的部分。虽然我有复制因子 3,但其他 2 个代理应该能够继续工作,kann Kafka 将分区 P2 拉到代理 1 或 2 或 3?

最后一个问题是,如果 Kubernetes 产生了 Pod5、6、7,我们能否再次缩减到 3 个 Pod 配置?

谢谢你的答案..

最佳答案

Kafka will detect over Zookeeper extra instances and can shift Partitions


扩展集群时不会重新平衡分区。
在缩减规模的情况下,分区必须先从代理移出,然后才能从集群中删除,否则您将拥有无法复制的永久脱机分区。并且在缩小集群时需要注意磁盘利用率,因为分区的大小受最小数据目录的限制
Kubernetes 本身不会帮助 Kafka 执行这些操作,并且在非 k8s 环境中,此过程主要是手动的,但可以编写脚本(请参阅 Datadog 的 kafka-kit)。我相信像 Strimzi 操作符这样的 k8s 操作符可以在扩展时使数据重新平衡更容易,但是在这个答案的时候,它不支持自动重新分配,正如我所看到的 in the docs

关于kubernetes - Kafka/Kubernetes 和自动缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58726377/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com