本文介绍在kafka中,增加分区partition的方法,不能减少分区数量,只能增加
目录导航
原始TOPIC分区partition
根本没分区。
[root@rh7_210 kafka]#  bin/kafka-topics.sh --describe --topic gbase8a --bootstrap-server localhost:9092
Topic: gbase8a  TopicId: pGWySKY_SWehGsMXihJhkA PartitionCount: 1       ReplicationFactor: 1    Configs: segment.bytes=1073741824
        Topic: gbase8a  Partition: 0    Leader: 0       Replicas: 0     Isr: 0
[root@rh7_210 kafka]#
增加分区partition
通过--alter命令,和--partition 参数指定新分区数量。注意只能增加。
[root@rh7_210 kafka]#  bin/kafka-topics.sh --alter --partitions 3  --topic gbase8a --bootstrap-server localhost:9092
查看TOPIC增加分区partition的效果
变成了3个分区。
[root@rh7_210 kafka]#  bin/kafka-topics.sh --describe --topic gbase8a --bootstrap-server localhost:9092
Topic: gbase8a  TopicId: pGWySKY_SWehGsMXihJhkA PartitionCount: 3       ReplicationFactor: 1    Configs: segment.bytes=1073741824
        Topic: gbase8a  Partition: 0    Leader: 0       Replicas: 0     Isr: 0
        Topic: gbase8a  Partition: 1    Leader: 0       Replicas: 0     Isr: 0
        Topic: gbase8a  Partition: 2    Leader: 0       Replicas: 0     Isr: 0
[root@rh7_210 kafka]#
减少TOPIC的分区partition
报错,原有分区数量大于请求数量。Topic currently has 3 partitions, which is higher than the requested 2.
[root@rh7_210 kafka]#  bin/kafka-topics.sh --alter --partitions 2  --topic gbase8a --bootstrap-server localhost:9092
Error while executing topic command : Topic currently has 3 partitions, which is higher than the requested 2.
[2021-07-16 16:05:36,893] ERROR org.apache.kafka.common.errors.InvalidPartitionsException: Topic currently has 3 partitions, which is higher than the requested 2.
 (kafka.admin.TopicCommand$)
[root@rh7_210 kafka]