栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

关于kafka:consumer

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

关于kafka:consumer

关于kafka:consumer_offsets日志不能自动清理,设置自动清理规则

起因
Kafka服务器在运行几个月后,存储空间耗尽了。剖析Kafka的占用空间状况,发现Kafka主动生成的“__consumer_offset”topic,占用了大量空间,它用于记录每个用户topic的生产偏移量。这一topic实用的清理规定与其余topic不同,某些状况下,它可能始终得不到清理,耗尽服务器资源。

查看清理策略
因为服务器上的Kafka版本较老,这里应用的参数是–zookeeper,而非–bootstrap-server参数。
使用以下命令查看清理策略:

[root@hdp5 bin]# ./kafka-configs.sh --zookeeper hdp3:2181 --entity-type topics --entity-name __consumer_offsets --describe
Configs for topics:__consumer_offsets are segment.bytes=104857600,cleanup.policy=compact,compression.type=producer

每个文件块大小100MB,清理策略为压缩,慢慢服务器空间会被用完。

解决
首先,将解决__consumer_offset的清理策略改为删除:

[root@hdp5 bin]# ./kafka-configs.sh --zookeeper hdp3:2181 --entity-type topics --entity-name __consumer_offsets --alter --delete-config cleanup.policy
Updated config for topic: "__consumer_offsets".

查看__consumer_offsets的清理策略

[root@hdp5 bin]# ./kafka-configs.sh --zookeeper hdp3:2181 --entity-type topics --entity-name __consumer_offsets --describe
Configs for topics:__consumer_offsets are segment.bytes=104857600,compression.type=producer

这可以让__consumer_offsets清理策略与一般topic统一,然而以防万一,可手动增加一组清理策略:

[root@hdp5 bin]# ./kafka-configs.sh --zookeeper hdp3:2181 --alter --entity-name __consumer_offsets --entity-type topics --add-config retention.ms=604800000
[root@hdp5 bin]# ./kafka-configs.sh --zookeeper hdp3:2181 --alter --entity-name __consumer_offsets --entity-type topics --add-config cleanup.policy=delete

上述两行命令将__consumer_offset的清理逻辑调整为“清理7天前数据,清理策略为删除”。
之后重启kafka,能看见大量数据被标记删除,后续再也不用操心服务器空间问题。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/318249.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号