重新分配partition ,可以采用下面的命令:
bin/kafka-reassign-partitions.sh
--zookeeper 指定zookeeper的连接地址,格式host:port
--broker-list 指定partition需要重新分配到哪些节点,格式为”0,1,2”
--topics-to-move-json-file 指定JSON文件的地址,文件内容是需要重新分配的topic列表。这个选项和manual-assignment-json-file选项需要指定其中
的一个。文件内容的格式为
{"topics": [{"topic": "test"},{"topic": "test1"}], "version":1 }
--manual-assignment-json-file 指定JSON文件的地址,文件内容是手动分配的策略。这个选项和topics-to-move-json-file选项需要指定其中的一个。文件内容的格式为
{"partitions":
[{"topic": "test", "partition": 1, "replicas": [1,2,3] }], "version":1 }
--status-check-json-file 指定JSON文件的地址,文件内容是partition和partition需要分配到的新的replica的列表。这个JSON文件可以从模拟执行的结果得到。
--execute 如果使用这个选项,那么会执行真实的重新分配分区的操作。如果不指定这个选项,默认会进行模拟执行。
例子如下图所示。