能否减少Kafka Topic的分区数量?相关技术疑问咨询
Kafka Topic分区数修改相关问题解答
是否仅能增加而非减少分区数?
是的,Kafka官方明确仅支持增加Topic的分区数量,不提供直接减少分区的操作。尝试减少分区数会发生什么?
如果通过命令行工具(比如kafka-topics.sh)尝试执行减少分区的操作,会直接报错,操作无法完成。例如执行类似kafka-topics.sh --bootstrap-server <服务器地址> --alter --topic <Topic名称> --partitions <更小的数值>的命令时,会返回类似Invalid partition count: <输入数值> must be larger than current partition count <当前分区数>的错误提示。是否属于禁止操作?
属于官方禁止的操作,Kafka的设计逻辑中没有支持该操作的路径。数据会被删除吗?已有数据会重新分配吗?
因为减少分区的操作根本无法执行,所以不存在数据被删除或者重新分配的情况。如果非要实现类似“减少分区”的效果,只能通过间接方式:- 创建一个分区数更少的新Topic
- 使用Kafka MirrorMaker或Kafka Connect等工具,将原Topic的数据迁移至新Topic
- 验证数据迁移完成后,删除原Topic,按需将新Topic替换为原Topic的名称
内容的提问来源于stack exchange,提问作者user2138149
相关产品推荐
相关产品推荐

