记录kakfa从1分区1副本增加到3分区3副本
文章参考:Kafka topic分区增加副本_kafka增加副本数-CSDN博客
Kafka集群中 topic数据的分区 迁移到其他broker-CSDN博客
kafka版本:kafka_2.11-1.1.1
全程在bin目录下操作
1.首先创建一个1分区1副本的topic
./kafka-topics.sh --zookeeper xxx --create --topic test_topic --replication-factor 1 --partitions 1
2.修改为3个分区
./kafka-topics.sh --zookeeper xxx --alter --topic test_topic --partitions 3
3.创建副本配置文件,每个分区对应的副本分配在哪些brokers上,在kafka的bin目录下,vi topics-to-move.json
{
"version": 1,
"partitions": [
{
"topic": "test_topic",
"partition": 0,
"replicas": [0,1,2]
},
{
"topic": "test_topic",
"partition": 1,
"replicas": [0,1,2]
},
{
"topic": "test_topic",
"partition":2,
"replicas": [0,1,2]
}
]
}
4.执行扩展副本命名,这是个异步操作,执行命令后开始执行扩副本。
输出内容中有之前的副本策略,可以保存下来,用于回滚。
./kafka-reassign-partitions.sh --zookeeper xxx --reassignment-json-file topics-to-move.json --execute
5.查看进度
./kafka-reassign-partitions.sh --zookeeper xxx --reassignment-json-file topics-to-move.json --verify
6.查看分配完后的topic状态
./kafka-topics.sh --zookeeper xxx --topic test_qinghai --describe