Kafka分区管理(优先副本的选举、分区重新分配,springboot运行原理生命周期

本文介绍了如何在Kafka中管理分区,包括修改副本因子和分区重新分配。通过`kafka-topics.sh`和`kafka-reassign-partitions.sh`工具,详细展示了增加Broker后的话题分区再分配过程,并探讨了三种分区分配策略:RangeAssignor、RoundRobinAssignor和StickyAssignor的原理和应用场景。
摘要由CSDN通过智能技术生成

查看详情已经变成4个分区

itcast@Server-node:/mnt/d/kafka-cluster/kafka-1$ bin/kafka-topics.sh --describe
–zookeeper localhost:2181 --topic heima
-par
Topic:heima-par PartitionCount:4 ReplicationFactor:3 Configs:
Topic: heima-par Partition: 0 Leader: 2 Replicas: 2,1,0 Isr: 2,1,0
Topic: heima-par Partition: 1 Leader: 0 Replicas: 0,2,1 Isr: 0
Topic: heima-par Partition: 2 Leader: 1 Replicas: 1,0,2 Isr: 1,0,2
Topic: heima-par Partition: 3 Leader: 2 Replicas: 2,1,0 Isr: 2,1,0

这样会导致broker2维护更多的分区

  • 第三步:再添加一个broker节点

查看主题信息

itcast@Server-node:/mnt/d/kafka-cluster/kafka-1$ bin/kafka-topics.sh --describe
–zookeeper localhost:2181 --topic heima
-par
Topic:heima-par PartitionCount:4 ReplicationFactor:3 Configs:
Topic: heima-par Partition: 0 Leader: 2 Replicas: 2,1,0 Isr: 2,1,0
Topic: heima-par Partition: 1 Leader: 0 Replicas: 0,2,1 Isr: 0
Topic: heima-par Partition: 2 Leader: 1 Replicas: 1,0,2 Isr: 1,0,2
Topic: heima-par Partition: 3 Leader: 2 Replicas: 2,1,0 Isr: 2,1,0

从上面输出信息可以看出新添加的节点并没有分配之前主题的分区

  • 第四步:重新分配

现在我们需要将原先分布在broker 1-3节点上的分区重新分布到broker 1-4节点上,借助kafka-reassign-partitions.sh工具生成reassign plan,不过我们先得按照要求定义一个文件,里面说明哪些topic需要重新分区,文件内容如下:

itcast@Server-node:/mnt/d/kafka-cluster/kafka-1$ cat reassign.json {
“topics”:[{“topic”:“heima-par”}],
“version”:1
}

然后使用 kafka-reassign-partitions.sh 工具生成reassign plan

然后执行脚本 bin/kafka-reassign-partitions.sh --zookeeper localhost:2181 --topics-to -move-json-file reassign.json --broker-list "0,1,2,3" --generate

itcast@Server-node:/mnt/d/kafka-cluster/kafka-1$ bin/kafka-reassign-
partitions.sh --zookeeper localhost:2181 --topics-to
-move-json-file reassign.json --broker-list “0,1,2,3” --generate
Current partition replica assignment
{“version”:1,“partitions”:[{“topic”:“heima-par”,“partition”:2,“replicas”: [1,0,2],“log_dirs”:[“any”,“any”,“any”]},
{“topic”:“heima- par”,“partition”:1,“replicas”:[0,2,1],“log_dirs”:[“any”,“any”,“any”]},
{“topic”:“heima-par”,“partition”:0,“replicas”:[2,1,

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值