首页 > 代码库 > kafka维护问题总结

kafka维护问题总结

Kafka操作日志的删除方法

Kafka0.8版本长时间运行过程中,在kafka_2.8.0-0.8.0/logs目录下产生了大量的kafka-request.log.*server.log.*文件,其中*代表日期和时间,比如kafka-request.log.2014-12-08-03server.log.2014-12-06-03,这些文件对磁盘空间的消耗非常大,需要定期备份或者清理。目前没有发现kafka自身提供了这些操作日志备份或者清理的方法,需要用户自己实现。

备份操作日志的方式是定期拷贝操作日志到指定大容量存储设备,然后将其删除。我在项目中采取的方式是直接清理过期操作日志,方法非常简单,利用linux操作系统提供的crontab功能,定期清理操作日志,方法如下:

/etc/crontab文件中添加删除操作日志的语句,然后执行crontab -f /etc/crontab命令即可,我的/etc/crontab文件如下所示,语句的含义是每4天在23:59执行清理操作:

[root@h10p11 logs]# vim /etc/crontab 

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root

HOME=/

 

# For details see man 4 crontabs

 

# Example of job definition:

# .---------------- minute (0 - 59)

# |  .------------- hour (0 - 23)

# |  |  .---------- day of month (1 - 31)

# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...

# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat

# |  |  |  |  |

# *  *  *  *  * user-name command to be executed

59 23 */4 * * rm -fr /root/kafka/kafka_2.8.0-0.8.0/logs/*-*-*

直接修改/etc/crontab文件重启机器不用重复设置。


kafka维护问题总结