Kafka Topic分区重分布

在扩容完kafka的broker以后,现有的topic分区不会自动迁移到新增节点上。需要手动对每个topic进行重分布

示例:

查看当前topic

复制代码
/home/kafka/kafka/kafka-1.1.0/bin/kafka-topics.sh --zookeeper 192.168.0.1:2181 --describe --topic gwtest01

当前topic有6个分区2个副本, 分布在1001,1002,1003 三个broker上,

然后扩容kafka,新增了一个broker,新增的节点broker_id 为 1004

先创建一个kafka_topic.json 内容为:

复制代码
{"topics":[{"topic": "gwtest01"}],"version":1}

就是配置好需要处理的topic名称

生成随机重分布文件:

复制代码
/home/kafka/kafka/kafka-1.1.0/bin/kafka-reassign-partitions.sh  --broker-list 1001,1002,1003,1004  --zookeeper 192.168.0.1:2181 --generate --topics-to-move-json-file kafka_topic.json

其中:--broker-list 指定需要分布的broker id,这个brokerid不一定是按顺序生成的,想要查询当前集群所有的broker id , 可以进入每个broker的数据目录,cat meta.properties

--topics-to-move-json-file 指定刚刚的文件

命令执行完成,会输出现有topic分区分布,和生成的随机分布规划

手动将下面的json串复制到新文件partition_assignment.json

复制代码
{"version":1,"partitions":[{"topic":"gwtest03","partition":1,"replicas":[1004,1001],"log_dirs":["any","any"]},{"topic":"gwtest03","partition":3,"replicas":[1002,1003],"log_dirs":["any","any"]},{"topic":"gwtest03","partition":0,"replicas":[1003,1004],"log_dirs":["any","any"]},{"topic":"gwtest03","partition":5,"replicas":[1004,1002],"log_dirs":["any","any"]},{"topic":"gwtest03","partition":2,"replicas":[1001,1002],"log_dirs":["any","any"]},{"topic":"gwtest03","partition":4,"replicas":[1003,1001],"log_dirs":["any","any"]}]}

执行分布:

复制代码
/home/kafka/kafka/kafka-1.1.0/bin/kafka-reassign-partitions.sh  --zookeeper 192.168.0.1:2181 --execute --reassignment-json-file partition_assignment.json

命令执行完再去查看topic分区状态,发现迁移完成

也可以使用以下命令查看分布的状态:

复制代码
/home/kafka/kafka/kafka-1.1.0/bin/kafka-reassign-partitions.sh  --zookeeper 192.168.0.1:2181 --verify --reassignment-json-file  partition_assignment.json
相关推荐
不太可爱的叶某人9 小时前
【学习笔记】kafka权威指南——第7章 构建数据管道(7-10章只做了解)
笔记·学习·kafka
青云交18 小时前
Java 大视界 -- 基于 Java 的大数据实时流处理在工业物联网设备故障预测与智能运维中的应用
java·flink·kafka·工业物联网·设备故障预测·智能运维·实时流处理
编啊编程啊程1 天前
gRPC从0到1系列【20】
java·rpc·kafka·dubbo·nio
Hello.Reader2 天前
在运行中的 Kafka 集群渐进式启用安全零停机实战手册(KRaft/Broker 通用)
分布式·安全·kafka
飘飞雪2 天前
深入浅出kafka:kafka演进以及核心功能介绍
数据库·分布式·kafka
不太可爱的叶某人2 天前
【学习笔记】kafka权威指南——第1章 初识kafka
笔记·学习·kafka
不太可爱的叶某人2 天前
【学习笔记】kafka权威指南——第3章 kafka生产者—向kafka写入数据
笔记·学习·kafka
爱敲代码的TOM3 天前
详解Kafka2-进阶机制
kafka
Hello.Reader4 天前
Kafka 授权与 ACL 深入实践
分布式·kafka·linq
z晨晨5 天前
互联网大厂Java求职面试实战:Spring Boot与微服务场景深度解析
java·spring boot·redis·微服务·kafka·spring security·电商