我有一个Kafka集群,包含6个代理和60多个主题,复制因子为2或3.我们计划用新节点替换所有现有代理。
我有两个问题:
一旦我们向集群添加了6个新节点,使其共有12个节点,并逐个关闭旧代理,那么副本会自动转移到新的代理吗?
如果没有,我们将不得不使用重新分配工具移动它们,在这种情况下,我们是否还需要移动__consumer_offsets
主题,或者Kafka会自行处理这个问题?
答案 0 :(得分:2)
不,副本不会自动移动。在关闭旧代理之前,您必须使用kafka-reassign-partitions.sh
工具重新分配副本。有关如何使用此工具的详细信息,请参阅http://kafka.apache.org/documentation/#basic_ops_cluster_expansion
是的,您需要移动所有分区,包括内部分区(__consumer_offsets
和__transaction_state
)