Kafka 手动调整分区副本存储

浩客2年前技术文章762

       

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


测试:创建一个新的topic,3个分区,2个副本,名称为test-topic01。将 该topic的所有副本都存储到broker0和broker1两台服务器上。

1111111111.png

手动调整分区副本存储的步骤如下:

(1)创建一个新的 topic

kafka-topics.sh --zookeeper master:2181 --create --partitions 3 --replication-factor 2 --topic test-topic01

(2)查看分区副本存储情况。

kafka-topics.sh --zookeeper master:2181 --describe --topic test-topic01

22222222.png

(3)创建副本存储计划(所有副本都指定存储在 broker0、broker1 中)。

#在kafka安装路径下
vim increase-replication-factor.json

{
"version":1,
"partitions":[{"topic":"test-topic01","partition":0,"replicas":[0,1]},
{"topic":"test-topic01","partition":1,"replicas":[0,1]},
{"topic":"test-topic01","partition":2,"replicas":[1,0]}]
}

(4)执行副本存储计划。

kafka-reassign-partitions.sh --zookeeper master:2181 --reassignment-json-file increase-replication-factor.json --execute

(5)验证副本存储计划。

kafka-reassign-partitions.sh --zookeeper master:2181 --reassignment-json-file increase-replication-factor.json --verify

3333333333333.png

(6)查看分区副本存储情况。

kafka-topics.sh --zookeeper master:2181 --describe --topic test-topic01

4444444444444.png


相关文章

Flume使用案例之Flume与Flume之间数据传递(单Flume多Channel、Sink)

目标:使用flume1监控文件变动,flume1将变动内容传递给flume-2,flume-2负责存储到HDFS。同时flume1将变动内容传递给flume-3,flume-3负责输出到local分步...

Alluxio部署

安装前准备1.1. 添加环境变量vi /etc/profile export ALLUXIO_HOME=/opt/alluxioexport PATH=$PATH:$ALLUXIO_HOME/bin ...

数据湖技术之iceberg(五)Hive与Iceberg整合

数据湖技术之iceberg(五)Hive与Iceberg整合

1.  版本支持约束条件Iceberg就是一种表格式,支持使用Hive对Iceberg进行读写操作,但是对Hive的版本有要求,如下:Iceberg 与 Hive 2.x 和 Hive 3....

docker安装及常用操作

docker安装及常用操作

一、安装docker1、移除以前docker相关包sudo yum remove docker \      ...

MS SQL Server partition by 函数实战二 编排考场人员

需求假设有若干已分配准考证号的考生,准考证号示例(01010001)共计8位,前4位为分类号,后4位为分类下的总排序号。现提供考场分配信息EXCEL文件(包括考场编号 、考场名称、考场容纳人数等),希...

Java-API对HDFS的操作(IDEA版)

Java-API对HDFS的操作(IDEA版)

前期工作首先就是安装maven在win系统下不配置hadoop环境,直接运行代码会报错,显示缺少winutils.exe 和 hadoop.dll 两个文件首先添加pom.xml文件  <dep...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。