kafka中手动调整分区副本存储和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. 创建副本存储计划(所有副本都指定存储在 broker0 broker1 中)
[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,"replica s":[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个参数的配置

 

Kafka分区副本是为了提高数据的可靠性和可扩展性而引入的概念。每个Kafka的topic可以分为多个分区,这些分区会均匀地分布在集群的各个节点下。每个分区都是单点的,当其一个分区不可用时,该分区的消息将无法被消费。为了提高分区的可靠性,Kafka引入了副本的概念。副本分区的冗余备份,通过副本机制来实现数据的冗余备份。 创建带有副本的topic可以使用以下命令: ``` kafka-topics.sh --create --zookeeper 192.168.10.150:2181 --replication-factor 3 --partitions 3 --topic secondTopic ``` 上述命令创建了一个名为"secondTopic"的topic,该topic有3个分区和3个副本。每个分区都有3个副本,分布在集群的不同节点上。 Kafka提供了数据复制算法来保证副本的可靠性。如果leader副本所在的broker节点宕机或出现故障,或者分区leader节点发生故障,Kafka会从follower副本选择一个新的leader副本来保证数据的可用性和一致性。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* *3* [kafka 消息分发机制、分区副本机制](https://blog.csdn.net/weixin_43281498/article/details/124233357)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值