码迷,mamicode.com
首页 > 其他好文 > 详细

kafka运维总结

时间:2016-07-06 23:26:39      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:

1.自身日志量过大的问题

kafka运行一段时间之后,会发现它的主机磁盘使用率在缓慢增长,查看数据日志的持有量还是之前设置的阈值。 

技术分享

这时候其实是kafka自身的日志打印撑爆磁盘。 
默认的~/kafka_2.11-0.9.0.0/config/log4j.properties如下:

log4j.rootLogger=INFO, stdout 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%d] %p %m (%c)%n
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
...
...
...

 

可以看到它自身日志是按照小时去备份的,而且没有自动清除的功能,所以自身日志一直没有清掉,就可能会影响到对数据量的预估和判断。这时候我们只想保留最近n天的日志。log4j并没有配置这样的功能,在不改动源码的情况下,有两种办法达到目的。

 1. 写一个crontab的脚本自动清除;

 2. 修改log4j.properties,按照大小去自动清除。

 1 log4j.rootLogger=INFO, stdout 
 2 
 3 log4j.appender.stdout=org.apache.log4j.ConsoleAppender
 4 log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
 5 log4j.appender.stdout.layout.ConversionPattern=[%d] %p %m (%c)%n
 6 
 7 log4j.appender.kafkaAppender=org.apache.log4j.RollingFileAppender
 8 log4j.appender.kafkaAppender.append=true
 9 log4j.appender.kafkaAppender.maxBackupIndex=2
10 log4j.appender.kafkaAppender.maxFileSize=5MB
11 log4j.appender.kafkaAppender.File=${kafka.logs.dir}/server.log
12 log4j.appender.kafkaAppender.layout=org.apache.log4j.PatternLayout
13 log4j.appender.kafkaAppender.layout.ConversionPattern=[%d] %p %m (%c)%n
14 ...
15 ...
16 ...

如上,我本人在生产环境设置的是日志备份两个,5MB就开始回滚。

2.log.retention.bytes是partition级别的

官网的解释是:The maximum size of the log before deleting it,解释得不清楚,实际上这个值只是partition日志的大小,不是topic的日志大小。

3.log.segment.delete.delay.ms设置

The amount of time to wait before deleting a file from the filesystem。

这个值默认的是:60000ms,也就是数据量达到设定的阈值之后,还是会保留数据,等待一段时间之后才会从文件系统上删除,所以做性能测试的时候,如果数据发送速率很大,那么就会导致监控数据文件夹的时候发现它总是超出阈值才删除,可以把这个阈值设置小一点。

kafka运维总结

标签:

原文地址:http://www.cnblogs.com/acceml/p/5648366.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!