Kafka三个节点,历史Log设置永不过期不能清理,现在磁盘使用率高如何处理风险较小

era 发表于: 2022-03-01   最后更新时间: 2022-03-01 15:30:09   1,110 游览

生产环境kafka_2.12-2.6.0版本,目前部署了三个节点,Log过期时间设置不过期不能清理。

Kafka历史Log设置永不过期不能清理

现在都是这种log文件占用大,最大就是默认的1G

log目录已经占用382G,磁盘使用率超过80%。想降低磁盘使用率,这种情况应该怎么办,我刚入职工作给的任务,不清楚业务环境,请大佬给点思路吧,跪谢!

目前我想到解决方案,先停Kafka集群,然后把20年、21年生成的log文件压缩减少磁盘占用,这种方案可以实现吗,会影响现有业务吗,有没有数据丢失风险、启动Kafka会一直报错启动失败等情况。

发表于 2022-03-01
era
添加评论

压缩也只是缓解。

一定要永久保存吗?如果是的话,只能增加物理存储了

如果不是,我建议你修改保留时间,重启kafka之后,会默认清理掉之前的数据。

era -> 半兽人 2年前

甲方跟我说的是永久保存,加硬盘要申请走流程很慢,现在就是想先降低磁盘使用率,CDH的告警。
压缩方案能细说吗,我kafka不是很了解,谢谢大佬了。。

半兽人 -> era 2年前
compression.type=(支持标准的压缩编码器('gzip', 'snappy', 'lz4'))

参考来自:Kafka Broker配置

kafka broker端有一个参数叫compression.type,和producer端的参数设置一样。但是这个参数的默认值是producer,表示broker端会尊重producer端使用的压缩算法,可一旦你在broker端设置了不同的compression.type值,就一定要小心了,因为可能会发生预料之外的压缩/解压缩操作,导致broker端CPU使用率飙升。比如broker端接收到gzip压缩消息后,broker端指定了snappy压缩算法,这样broker只能解压缩然后使用snappy重新压缩一遍。

era -> 半兽人 2年前

大佬,kafka处理日志压缩方式我也查了,我想到那个压缩就是先停服务,把几年前的log压缩成xz格式的压缩包,22年的log不动,这种处理可行吗,服务能不能正常启动。。

半兽人 -> era 2年前

够呛,你试试,我没试过。。

era -> 半兽人 2年前

好吧我想的太多了,先配置压缩方式看看效果吧,现在就是不处理日志每天都保留一天差不多1G占用唉

era -> 半兽人 2年前

站长大佬,我使用命令修改了topic设置compression.type=zstd,我看磁盘占用没有下降啊,这个压缩是新存储的消息压缩,历史消息不会压缩吗。

你的答案

查看kafka相关的其他问题或提一个您自己的问题