Desc: 环境有 6 个 kafka broker,目前是 2副本,考虑将副本数提高到 3 或者 4 ,添加 kafka 的副本数,提高容灾率。
该工具可以进行手动分配 partition 到特定的 broker,在特定情况下很有用,比如:某个partition不均衡手动重分、某个broker挂掉了手动增加replica冗余。
# foo topic 的 partition 0 原本 leader 44,replica 为44、45 isr 为 44、45;此时45broker宕机,为了防止44也宕机然后造成整个kafka不可用,可以通过如下方式增加46作为replica
$ ./bin/kafka-reassign-partitions.sh --zookeepeer data01.sa:2181 --reassignment-json-file partitions-to-move.json --execute
$ cat partitions-to-move.json
{"partitions":
[{"topic": "foo",
"partition": 0,
"replicas": [44,46] }],
"version":1
}
参考文档:
https://docs.confluent.io/current/kafka/post-deployment.html#increasing-replication-factor
https://www.orchome.com/38