Kafka提供了重新分区的命令,但是只能增加,不能减少
我的kafka安装在/usr/local/kafka_2.12-1.0.2目录下面,
[root@i-zk1 kafka_2.12-1.0.2]# bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test Topic:test PartitionCount:3 ReplicationFactor:3 Configs: Topic: test Partition: 0 Leader: 0 Replicas: 0 Isr: 0
查看当前topic test为一个分区,一个Repli
执行如下
bin/kafka-reassign-partitions.sh --zookeeper localhost:2181 --reassignment-json-file repartion_config/test.json --execute test.json
其中test.json内容如下
[root@i-zk1 kafka_2.12-1.0.2]# cat repartion_config/test.json {"version":1,"partitions":[{"topic":"test","partition":0,"replicas":[0,1,2]},{"topic":"test","partition":1,"replicas":[0,1,2]},{"topic":"test","partition":2,"replicas":[0,1,2]}]}
再次查看test topic如下
[root@i-zk1 kafka_2.12-1.0.2]# bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test Topic:test PartitionCount:3 ReplicationFactor:3 Configs: Topic: test Partition: 0 Leader: 0 Replicas: 0,1,2 Isr: 0,1,2 Topic: test Partition: 1 Leader: 0 Replicas: 0,1,2 Isr: 0,1,2 Topic: test Partition: 2 Leader: 0 Replicas: 0,1,2 Isr: 0,1,2