kafka中手动调整分区副本存储和leader分区再平衡

本文档介绍了如何在Kafka环境中手动调整分区副本的存储,以解决服务器存储压力不均的问题。首先,通过创建新topic并指定分区和副本数量,然后查看并创建副本存储计划,执行该计划并验证副本分配。此外,还讨论了当Leader分区分布不均时,如何通过调整参数来实现集群负载均衡。

一 调整副本存储

1.1 需求背景描述

在生产环境中,每台服务器的配置和性能不一致,但是Kafka只会根据自己的代码规则创建对应的分区副 本,就会导致个别服务器存储压力较大。所有需要手动调整分区副本的存储,如下图

 需求:创建一个新的topic4个分区,两个副本,名称为three。将 该topic的所有副本都存储到broker0和 broker1两台服务器上。

1.2 修改操作步骤

手动调整分区副本存储的步骤如下:
1.创建一个新的 topic,名称为 three
[atguigu@hadoop102 kafka]$ bin/kafka-topics.sh --bootstrap-server
hadoop102:9092 --create --partitions 4 --replication-factor 2 -- topic three
2.查看分区副本存储情况
[atguigu@hadoop102 kafka]$ bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --describe --topic three
3.创建副本存储计划(所有副本都指定存储在 broker0broker1 中)
[atguigu@hadoop102 kafka]$ vim increase-replication-factor.json
文本内容:
{
"version":1,
"partitions":[{"topic":"three","partition":0,"replicas":[0,1]},
{"topic":"three","partition":1,"replicas":[0,1]},
{"topic":"three","partition":2,"replicas":[1,0]},
{"topic":"three","partition":3,"replicas":[1,0]}]
}

4.执行副本存储计划

[atguigu@hadoop102 kafka]$ bin/kafka-reassign-partitions.sh --
bootstrap-server hadoop102:9092 --reassignment-json-file increase-replication-factor.json --execute
5.验证副本存储计划
[atguigu@hadoop102 kafka]$ bin/kafka-reassign-partitions.sh --
bootstrap-server hadoop102:9092 --reassignment-json-file increase-replication-factor.json --verify
6.查看分区副本存储情况
[atguigu@hadoop102 kafka]$ bin/kafka-topics.sh --bootstrap-server
hadoop102:9092 --describe --topic three

二 leader分区再平衡

2.1 描述

正常情况下,Kafka本身会自动把Leader Partition均匀分散在各个机器上,来保证每台机器的读写吞吐量都是均匀的。但是如果某 些broker宕机会导致Leader Partition过于集中在其他少部分几台broker,这会导致少数几台broker的读写请求压力过高,其他宕机的 broker重启之后都是follower partition,读写请求很低,造成集群负载不均衡。

 

2.2 调整参数

根据情况调整这3个参数的配置

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值