Kafka 0.8中经纪人的分区重新平衡

Cha*_*ieP 5 apache-kafka

Kafka 0.8的相对稀缺的文档没有提到平衡现有主题,分区和经纪人副本的预期行为.

更具体地说,经纪人到达时的预期行为和经纪人(领导者与否)的崩溃是什么?

谢谢.

Min*_* LÊ 1

我不久前测试过这两种情况,并且没有在重负载下进行。我有一个生产者在由 2 个代理组成的集群上同步发送 10k 条消息(只是一小串)到一个主题,复制因子为 2,有 2 个分区。有2个消费者。每个组件都部署在单独的机器上。我观察到的是:

  • 正常操作时:代理 1 是分区 1 上的领导者,分区 2 上的副本。代理 2 是分区 2 上的领导者,分区 1 上的副本。将代理 3 引入集群不会自动触发分区上的重新平衡。

  • 关于代理复兴(崩溃而不是重新启动):重新平衡对于生产者和消费者来说是透明的。重新启动的代理首先复制日志,然后使其自身可用。

  • 经纪人崩溃(无论是否是领导者) :通过任何一个经纪人上的kill -9进行模拟。生产者和消费者被冻结,直到被杀死的 Broker 的 ZK 中的临时节点过期。之后,业务恢复正常。