真实对一个3分区topic分别尝试减少到2和增加到4,验证Kafka对分区数变化方向真实的限制,理解为什么减少分区不是一条命令能做到的事。
命令 · shell $ kafka-topics.sh --describe --topic order-demo | head -1 Topic: order-demo PartitionCount: 3 ... $ kafka-topics.sh --alter --topic order-demo --partitions 2
Error while executing topic command : The topic order-demo currently has 3 partition(s); 2 would not be an increase. org.apache.kafka.common.errors.InvalidPartitionsException: The topic order-demo currently has 3 partition(s); 2 would not be an increase.
错误信息本身说得很直白:这个操作被定义为"increase"(增加),2小于当前的3,根本不满足这个操作的前提,直接被拒绝。
命令 · shell $ kafka-topics.sh --alter --topic order-demo --partitions 4
Topic: order-demo PartitionCount: 4 Partition 3 Leader: 1 Replicas: 1,2,3 Isr: 1,2,3 ← 真实新增的分区
每一步都是本文上面用kafka-topics.sh --alter跑出来的原始结果。