apache-kafka - 删除 Kafka/log 旧文件是否安全?
问题描述
我的云服务器中有 Kafka 服务器实例,由 3 个代理、3 个 zk 和 12 个连接工作人员组成。众所周知,Kafka 的主文件夹由 bin、config 和 logs 组成。我想问我是否要保护磁盘大小,删除logs文件夹中旧的server.log、connect.log和zookeeper_gc.log文件是否安全?如果是,那么我如何定期删除/压缩它(例如每天或每周)?
解决方案
要回答您的第一个问题,是的,可以删除旧的 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
请注意,上面的日志属性文件中有几个附加程序(参考上面的链接),您必须相应地更新每个附加程序的设置。
推荐阅读
- javascript - 用Javascript读取本地BSON文件
- c# - 如何从 Startup.cs 中的 Configure 方法调用 services.Configure
- bluetooth - LE Read Advertising Physical Channel Tx Power 命令输出的理解
- javascript - 在 GatsbyJS 中使用 wrapRootElement 提供上下文
- firebase - 使用firebase获取文档字段数据类型
- spring-boot - 如何将来自 Spring 的 ModelAndView 对象转换为 Vue 数据?
- c++ - 如何从 Windows 10 系统上的摄像头获取视频帧到我的 C++ 应用程序中?
- swift - 限制/减少对 Firebase Firestore 的读取次数 - Swift
- docker - 如何解决 GKE 上的“网络未就绪:运行时网络未就绪:NetworkReady=false 原因:NetworkPluginNotReady”?
- c# - 使用 scope.set 分配静态类而不是变量