假设您有一个节点Kakfa集群,并且创建了一个具有2个分区的主题,因为您希望能够并行使用。
然后,一个新的代理加入集群。
我的意思是,这还会触发现有主题分区的重新分配吗?我们会将主题第二个分区中的所有数据都移到第二个代理中吗?
还是新经纪人仅参与未来主题的分区分配?
答案 0 :(得分:1)
当将代理添加到集群时,Kafka不会自动重新分配现有分区。
这是出于以下几个原因:
移动分区可能会导致大量代理间通信,并给群集带来额外的负载。
很难确定要移动的分区。对于您来说,这是微不足道的,但请想象一个具有1000个分区和许多代理的集群。
Kafka文档中有一个有关cluster expansion的部分。
有一些工具可以执行这样的操作:
kafka-reassign-partitions.sh
是默认的Kafka工具,可用于以受控方式在新代理之间重新分配分区。