记一次Kafka生产问题

最近北京电信的生产服务器突然间磁盘报警,发现是kafka-log的__consumer__offsets–55数据量过大导致,这个topic是kafka记录偏移量的主题,这个分区的数据量达到3.1个T;
默认配置server.conf里的核心配置项
#最大日志保留大小 log.retention.bytes=1073741824
#日志保留时间长度 log.retention.minutes=10
log.segment.delete.delay.ms=1000 #过期数据删除策略,
最重要的配置 log.cleaner.enable=true log.cleanup.policy=delete
#以上配置只对默认配置,属于全局配置,并不一定对全部topic起效

如果以上配置对你的topics不起效果,说明该topics有独立的特殊配置,用以下命令查询该topics的特殊配置(重载配置)
#localhost:2182是zookeeper的ip和端口,__consumer_offsets是要查询的topics bin/kafka-configs.sh --zookeeper localhost:2182 --entity-type topics --entity-name __consumer_offsets --describe #假如结果如下: Configs for topics:__consumer_offsets are segment.bytes=104857600,cleanup.policy=compact,compression.type=uncompressed 则说明segment.bytes、cleanup.policy、compression.type这三个配置项是针对topics的,server.conf配置log.cleanup.policy, log.segment.bytes 没有起效;
如果想让该配置跟随server.conf配置,则执行以下命令,一个个删除特殊配置 bin/kafka-configs.sh --zookeeper localhost:2182 --entity-type topics --entity-name __consumer_offsets --alter --delete-config cleanup.policy
如果想修改,则用以下命令
bin/kafka-configs.sh --zookeeper localhost:2182 --entity-type topics --entity-name __consumer_offsets --alter --delete-config cleanup.policy=delete


版权声明:本文为Java_Soldier原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。