我们计划将集群从2个节点扩展到8个节点。分区重新分配工具可以选择移动主题或分区。
为了重新分配分区,我打算按照以下步骤进行操作。
无论节点添加的数量如何,如果我在topic-to-move.json和下面命令中的所有代理中给出所有主题,那么它将在节点之间给出相等的分区分配正确吗?
bin / kafka-reassign-partitions.sh --zookeeper localhost:2181 --topics-to-move-json-file topics-to-move.json --broker-list“0,1,2,3, 4,5,6,7“ - 生成
在此之后我计划应用json
- 执行--reassignment-json-file generated-json file
这会导致任何问题吗?
这一步似乎更为一般,但为什么不以这种方式记录?
答案 0 :(得分:1)
通过将完整主题列表传递给工具,可能会重新分配所有分区。
在已经很大的群集(> 1000s主题)中,这会导致大量不必要的数据复制和领导者选举。因此,通常您只提供主题的子集,并仅将新代理指定为目标,以最大限度地减少完成重新分配所需的工作。
如果您的群集足够小并且没有GB / TB数据,那么将所有主题传递给重新分配工具应该没问题,这可能是最简单/最快的。
答案 1 :(得分:1)
有几点需要注意: