场景:
目前现有kafka的broker有4台机器,现在需要增加一台机器用于broker的扩容,增加kafka的队列的存储空间
具体操作步骤:
1、选定需要均衡的队列名字
2、在kafka的bin文件夹下新建move.json文件,在文件中写入如下内容:
{
“topics”:[
{
“topics”:”tuling-test-result” #此处为需要均衡的第一个队列
},
{
“topics”:”tuling-test-todo” #此处为需要均衡的第二个队列
}
],
“version”:1 #此处为kafka版本号
}
3、执行如下命令
./kafka-reassign-partitions.sh --zookeeper 127.0.0.1:2181 --topics-to-move-json-file move.json --broker-list “0,1,2,3,4,5” --generate
说明:broker-list中的数字表示的是kafka集群中的broker的id
执行后会得到如下结果
4、将截图中的”Proposed partition reassignment configuartion”以下的部分粘贴入kafka中的reassign.json文件中
5、执行如下命令,完成手动均衡
./kafka-reassign-partitions.sh --zookeeper 127.0.0.1:2181 --reassignment-json-file reassign.json --execute
6、使用如下命令检查手动均衡后的结果是否是预期的
./kafka-reassign-partitions.sh --zookeeper 127.0.0.1:2181 --reassignment-json-file reassign.json --verify