Kafka 手动调整分区副本存储

浩客2年前技术文章694

       

       在生产环境中,每台服务器的配置和性能不一致,但是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


相关文章

ES基础知识介绍

ES 核心概念ES 是使用 Java 编写的一种开源搜索引擎,它在内部使用 Lucene 做索引与搜索,通过对 Lucene 的封装,隐藏了 Lucene 的复杂性,取而代之的提供一套简单一致的 RE...

mysql binlog文件删除情况下恢复主从

mysql binlog文件删除情况下恢复主从

1、对主库的数据进行全库dump2、删除自建的从库数据库3、将主库数据source到从库(1)将全库dump文件传到从库服务器节点scp ./backup_2023-12-08_14_49_17.sq...

Hbase映射为Hive外表

Hbase映射为Hive外表

Hbase对应Hive外表(背景:在做数据ETL中,可能原始数据在列式存储Hbase中,这个时候,如果我们想清洗数据,可以考虑把Hbase表映射为Hive的外表,然后使用Hive的HQL来清除处理数据...

oracle v$archive_log视图过期信息清理

      在使用RMAN命令删除归档后,查询v$archived_log视图会发现name列为空了,但其他列的信息还保留,时间长了会留下很多过期的信息,影响维护工作,需要将过期的信息删除。 出现这样...

CDH实操--修改集群主机名

CDH实操--修改集群主机名

1、停止集群2、停止cmsystemctl stop cloudera-scm-serversystemctl stop cloudera-scm-agnet3、修改服务器主机名修改下列配置文件下的主...

Hive与HBase整合文档

Hive与HBase整合文档

1.Hive整合HBase配置1.拷贝hbase 相关jar包将hbase 相关jar包拷贝到hive lib目录下hbase-client-0.98.13-hadoop2.jar hbase-co...

发表评论    

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