一、查看及修改topic分区
- 查看已有topic信息并修改分区
./bin/kafka-topics.sh --describe --zookeeper hdc-data1,hdc-data2,hdc-data3:2181 --topic prod_log_simul
./bin/kafka-topics.sh --alter --zookeeper hdc-data1,hdc-data2,hdc-data3:2181 --topic prod_log_simul --partitions 3
二、修改topic副本数
- 编写分配脚本并执行分配计划
vi ~/kafka_add_replicas.json
{"topics":
[{"topic":"prod_log_simul"}],
"version": 1
}
./bin/kafka-reassign-partitions.sh --zookeeper hdc-data1,hdc-data2,hdc-data3:2181 --topics-to-move-json-file ~/kafka_add_replicas.json --broker-list "0,1,2" --generate
- 根据上一步生成的分配计划复制并配置json文件topic-reassignment.json,进行topic的重新分配。
vi ~/topic-reassignment.json
去掉log_dirs字段并修改replicas字段([0,1,2]分别为broker_id),表示副本存储的broker位置,如下:
{"version":1,"partitions":[{"topic":"prod_log_simul","partition":2,"replicas":[0,1,2]},{"topic":"prod_log_simul","partition":1,"replicas":[0,1,2]},{"topic":"prod_log_simul","partition":0,"replicas":[0,1,2]}]}
重新分配及查看分配进度
./bin/kafka-reassign-partitions.sh --zookeeper hdc-data1,hdc-data2,hdc-data3:2181 --reassignment-json-file ~/topic-reassignment.json --execute
# 查看分配进度
./bin/kafka-reassign-partitions.sh --zookeeper hdc-data1,hdc-data2,hdc-data3:2181 --reassignment-json-file ~/topic-reassignment.json --verify
![]()
![]()
到此修改分区及副本数完成。
网友评论