文章目录
1.视界
1 概述
目前来说,kafka的日志中记录的内容比较多,具体的存储内容见这篇博客,写的比较好。可以看到,存储的内容还是比较多的,当存储文件比较大的时候,我们应该如何处理这些日志?下面我们通过kafka启动过程的源码,分析下kafka的日志处理过程。
2 入口方法
在kafkaServer.scala中的start方法中,有一个这样的调用:
/** start log manager */
logManager = LogManager(config, initialOfflineDirs, zkClient, brokerState, kafkaScheduler, time, brokerTopicStats, logDirFailureChannel)
logManager.startup()
2 定时任务总方法
这块就是启动了日志相关的定时任务,具体都有哪些内容?我们跟进去看一下:
/**
* Start the background threads to flush logs and do log cleanup
*
* 在LogManager.startup(0方法中,将三个周期性任务提交到scheduler 中定时执行,并启动LogCleaner线程。
*/
def startup() {