我有一个运行 2 个分区的 Kafka 集群。我正在寻找一种将分区数增加到 3 的方法。但是,我不想丢失有关该主题的现有消息。我尝试停止 Kafka ,修改 server.properties
文件以将分区数增加到 3 并重新启动 Kafka。然而,这似乎并没有改变什么。使用 Kafka ConsumerOffsetChecker
,我仍然看到它只使用了 2 个分区。我使用的 Kafka 版本是 0.8.2.2。在 0.8.1 版本中,曾经有一个名为 kafka-add-partitions.sh
的脚本,我想这可能会奏效。但是,我在 0.8.2 中没有看到任何这样的脚本。
- 有没有办法做到这一点?
我确实尝试过创建一个全新的主题,对于那个主题,它似乎确实根据 server.properties
文件中的更改使用了 3 个分区。但是,对于现有的主题,它似乎并不关心。
原文由 Asif Iqbal 发布,翻译遵循 CC BY-SA 4.0 许可协议
看起来您可以改用 此 脚本:
在代码中,它们看起来像做同样的事情:
kafka-topics.sh
执行 这段 代码以及 kafka-add-partition 脚本使用的 AddPartitionsCommand 。但是,您必须在使用密钥时注意重新分区: