0749-5.14.4-如何实现Kafka Broker节点磁盘数据Balance

本文档介绍了如何在不扩容Kafka Broker的情况下,通过磁盘扩容和Partition迁移实现数据平衡。详细步骤包括添加数据目录、创建新Topic、迁移Partition及修改相关checkpoint文件,以确保Kafka数据在磁盘间均匀分布。
摘要由CSDN通过智能技术生成

文档编写目的

Kafka的数据目录可以配置一个或多个,通常这些目录是分布在不同的磁盘上用于提高K集群的读写性能,同时也可以提升消息的存储空间。

实际的生产环境中随着消息量的增加,Kafka存储的消息量过大,导致磁盘空间爆满,此时在不扩容Broker的情况下,我们通过对已有节点挂载磁盘的方式扩容Kafka的存储。在扩容存储后会发现已有Topic的Partition并不会自动均衡到新的磁盘上,依然没有缓解磁盘爆满的情况。而新建Topic时以磁盘为单位,在Partition数量最少的磁盘上创建Partition目录。上述的情况均会导致Kafka数据在磁盘之间分布不均的问题。

本篇文章Fayson主要介绍如何实现磁盘之间Parttion的迁移,从而实现Kafka Broker节点磁盘数据Balance,阅读本文前可以先查看如下视频:

《如何在一个Kafka Broker的log.dir中移动partition数据》

  • 测试环境:

1.Redhat7.2

2.采用root用户操作

3.CM为5.16.2,CDH为5.14.4

4.Kafka版本为2.2.0

5.Kafka未启用Kerberos和Sentry

Kafka磁盘扩容

1.扩容前Kafka的数据目录。

通过CM的Kafka配置搜索log.dirs可以看到当前Kafka的数据目录只有/var/local/kafka/data这一个。

2.扩容后数据目录说明

通过CM,进入Kafka,点击配置,输入log.dirs进行搜索,然后添加一个目录/data0/kafka/data,点击保存确认,然后根据提示重启。这样进行磁盘目录的扩容。

3.扩容后创建一个新的Topic进行说明

使用如下命令创建一个新的Topic

[root@cdh01 data]# kafka-topics --create --zookeeper cdh01<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值