1、在CM界面查询各个kafka broker对应的ID 比如: kafka1---100 ,kafka2--101 , kafka--102
本次迁移节点为 kafka1 , 新服务器为 kafka4
2、通过CM 新增一个 kafka broker : kafka4---103
3、查看当前kafka已存在的topic
kafka-topics --list --zookeeper zk1:2181,zk2:2181,zk3:2181
假设查询出来的topic为以下内容:
betty
washaxiu
4、按照查询到的topic来创建文件topics-to-move.json 格式如下
{"topics": [
{"topic": "betty"},
{"topic": "washaxiu"}
],
"version":1
}
5、执行迁移命令(由于broke id 为100的服务器要迁移,故在broker-list里面只写101,102,103)
kafka-reassign-partitions --zookeeper zk1:2181,zk2:2181,zk3:2181 --topics-to-move-json-file topics-to-move.json --broker-list "101,102,103" --generate
将上面命令输出的内容中,Proposed partition reassignment configuration下的内容复制保存为json文件newkafka.json。
6、执行下面的命令来进行平衡
kafka-reassign-partitions --zookeeper zk1:2181,zk2:2181,zk3:2181 --reassignment-json-file newkafka.json --execute
7、进度查询,确认迁移完成
kafka-reassign-partitions --zookeeper zk1:2181,zk2:2181,zk3:2181 --reassignment-json-file newkafka.json --verify