kafka 在线修改副本数

背景  

  前段时间由于集群各台机器配置不一样,导致部分机器磁盘吃紧。定位发现kafka log数据占了一半的容量,而且某一个topic的数据惊人,50个partition,每个partition24G,3副本。算了一下3.6T的磁盘容量。而目前已经调整到3天的保留时间,不能再短了,只好缩减一下replication-factor的数量由3变为2,这样整个容量减少三分之一,也是很可观的量。

尝试

考虑到是kafka topic相关的属性,尝试命令

发现好像有点戏,于是就尝试修改某个topic下数据的副本数

原来这个参数不能改副本数只可以修改partition数量,官方说明

继续查看kafka命令发现有个kafka-reassign-partitions命令,研究一下

这边有个--reassignment-json-file参数可以指定topic下某个分区和对应副本所在的机器(broker.id),那我要是修改它的副本列表是否可以减少他的副本数呢,带着疑问就去尝试吧。

实验步骤

1. 调查topic=test001 分区副本信息

2. 制作分区副本配置文件,就是那个参数的json文件

3. 使用配置文件重新制定分区信息

4. 验证(分区副本信息,kafka log data的数量变化情况)

1. 调查topic=test001 分区副本信息

> kafka-topics --topic test001 --zookeeper localhost:2181/kafka --describe

2. 制作分区副本配置文件,就是那个参数的json文件

3. 使用配置文件重新制定分区信息

kafka-reassign-partitions --zookeeper localhost:2181/kafka --reassignment-json-file abc.json --execute

4. 验证(分区副本信息,kafka log data的数量变化情况)

kafka-topics --topic test001 --zookeeper localhost:2181/kafka --describe

确实分区副本信息中心变化了,从3个副本变成了2个。

再去验证数据

执行前

执行后,发现129上确实没有了topic=test001的partition 3的数据目录了

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值