6.3.2.2. 生成重新分配 JSON 文件
将给定主题集的所有分区分配给给定代理集合的最简单方法是使用 kafka-reassign-partitions.sh --generate 命令生成重新分配 JSON 文件。
bin/kafka-reassign-partitions.sh --zookeeper <ZooKeeper> --topics-to-move-json-file <TopicsFile> --broker-list <BrokerList> --generate
bin/kafka-reassign-partitions.sh --zookeeper <ZooKeeper> --topics-to-move-json-file <TopicsFile> --broker-list <BrokerList> --generate
<TopicsFile> 是一个 JSON 文件,列出了要移动的主题。它具有以下结构:
其中 <TopicObjects> 是一个以逗号分隔的对象列表,例如:
{
"topic": <TopicName>
}
{
"topic": <TopicName>
}
例如,将 topic-a 和 topic-b 的所有分区移动到代理 4 和 7
bin/kafka-reassign-partitions.sh --zookeeper localhost:2181 --topics-to-move-json-file topics-to-be-moved.json --broker-list 4,7 --generate
bin/kafka-reassign-partitions.sh --zookeeper localhost:2181 --topics-to-move-json-file topics-to-be-moved.json --broker-list 4,7 --generate
其中 topics-to-be-moved.json 包含内容: