针对运行中kafka的集群,因为特定原因,部分kafka节点负荷量超载,可以进行手动topic重新分配;还可以根据需求只重新分配特定topic到特定kafka节点,以实现只想在固定节点使用特定topic的目的。
1、创建一个待重新分配的Topic的JSON文件
vim topics.json
{
"topics": [{
"topic": "topic1"
},{“topic”:"topic2}],
"version": 1
}
2、使用kafka-reassign-partitions命令生成一个分配计划,下面的命令行中broker-list参数即对应上面的BrokerID
usr/local/kafka/bin/kafka-reassign-partitions.sh \
--zookeeper 10.50.4.45:2181 \
--topics-to-move-json-file topics.json \
--broker-list "1,2,3,4,5,6,7" \
--generate >>reassignment.json
修改reassignment.json,只保留分配后计划
3、运行kafka-reassign-partition命令根据上述执行计划生成的结果进行分配
命令如下: