首页 > 解决方案 > 删除 Kafka/log 旧文件是否安全?

问题描述

我的云服务器中有 Kafka 服务器实例,由 3 个代理、3 个 zk 和 12 个连接工作人员组成。众所周知,Kafka 的主文件夹由 bin、config 和 logs 组成。我想问我是否要保护磁盘大小,删除logs文件夹中旧的server.log、connect.log和zookeeper_gc.log文件是否安全?如果是,那么我如何定期删除/压缩它(例如每天或每周)?

标签: apache-kafka

解决方案


要回答您的第一个问题,是的,可以删除旧的 Kafka 日志文件。这些仅在您想追溯历史日志时供您使用。

对于第二个,您可以检查 /config 文件夹下的 log4j 属性文件。默认情况下,Kafka 提供 DailyRollingAppender,您可以将其更改为您喜欢的 RollingAppender。

来自默认 kafka log4j 属性的片段。参考https://github.com/apache/kafka/blob/trunk/config/log4j.properties

log4j.appender.kafkaAppender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.kafkaAppender.DatePattern='.'yyyy-MM-dd-HH
log4j.appender.kafkaAppender.File=${kafka.logs.dir}/server.log
log4j.appender.kafkaAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.kafkaAppender.layout.ConversionPattern=[%d] %p %m (%c)%n

您可能会像下面这样更新 RollingAppender,它将保留最多 10 个 25MB 的文件,因此永远不会占用超过 250MB。

log4j.appender.kafkaAppender=org.apache.log4j.RollingFileAppender
log4j.appender.kafkaAppender.File=${kafka.logs.dir}/server.log
log4j.appender.kafkaAppender.MaxFileSize=25MB
log4j.appender.kafkaAppender.MaxBackupIndex=10
log4j.appender.kafkaAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.kafkaAppender.layout.ConversionPattern=[%d] %p %m (%c)%n

请注意,上面的日志属性文件中有几个附加程序(参考上面的链接),您必须相应地更新每个附加程序的设置。


推荐阅读