KAFKA __consumer_offsets 清理

KAFKA 的TOPIC __consumer_offsets 的清理

生产环境因kafka日志数据量过大,导致磁盘空间占用满了,通过查看发现kafka的日志储存目录kafkadata占用90%的存储。
再进一步查找,发现目录下好多__consumer_offsets 生成的储存文件,每个文件1GB。
查找了一下kafka配置,发现kafka对部分topic的清理策略做了特殊处理,所以导致我们自己配置的清理策略未生效。

查看现有的__consumer_offsets 清理策略

./kafka-configs.sh --zookeeper es01:2181,es02:2181,es03:2181 --entity-type topics --entity-name __consumer_offsets --describe

打印结果如下:

Configs for topic '__consumer_offsets' are segment.bytes=104857600,cleanup.policy=compact,compression.type=producer

删除特有的清理策略

./kafka-configs.sh --zookeeper  es01:2181,es02:2181,es03:2181 --entity-type topics --entity-name __consumer_offsets --alter --delete-config cleanup.policy

网上的资料都说 ,删除掉__consumer_offsets的特殊的清理策略后,默认会使用我们配置文件的清理策略。(对此我未做验证)

但为了保险我还是给__consumer_offsets 手动添加了清理策略:

./kafka-configs.sh --zookeeper es01:2181,es02:2181,es03:2181 --alter --entity-name __consumer_offsets --entity-type topics --add-config retention.ms=86400000

./kafka-configs.sh --zookeeper es01:2181,es02:2181,es03:2181 --alter --entity-name __consumer_offsets --entity-type topics --add-config cleanup.policy=delete


./kafka-configs.sh --zookeeper es01:2181,es02:2181,es03:2181 --alter --entity-name __consumer_offsets --entity-type topics --add-config 'max.message.bytes=50000000' --add-config 'flush.messages=50000'

添加完后,等了一会就发现kafka的日志目录大小已经减少很多了,最终磁盘使用率有90%降到了30%,一次生产磁盘危机就此解决了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值