kafka清理數據日志


背景問題

使用kafka的路上踩過不少坑,其中一個就是在測試環境使用kafka一陣子以后,發現其日志目錄變的很大,占了磁盤很大空間,定位到指定目錄下發現其中一個系統自動創建的 topic,__consumer_offsets-45(kafka一共創建了50個分別從0~49標識)文件夾很大,上網搜了一翻,終得解決,記錄一下。

 

 

問題環境

kafka版本:kafka_2.12-0.10.2.1

 

解決方法

假如server.properties有以下配置項:

...
log.dirs=/data/kafka-logs
log.cleaner.enable=true log.cleanup.policy
= delete    // delete|compact log.retention.hours=168 log.segment.bytes=1073741824 log.retention.check.interval.ms=300000
...

以上配置對於特殊的topic,比如__consumer_offsets不一定有效,可以通過bin目錄自帶的kafka-configs.sh腳本查看下,操作如下:

 ./kafka-configs.sh --zookeeper 172.19.228.188:2181 --entity-type topics --entity-name __consumer_offsets --describe 

顯示如下:

Configs for topic '__consumer_offsets' are segment.bytes=104857600,cleanup.policy=compact,compression.type=producer

看的出來,segment.bytes、cleanup.policy、compression.type這三個配置項是針對topics的,server.conf配置log.cleanup.policy, log.segment.bytes 沒有起效,如果想讓該配置跟隨server.conf配置,則執行以下命令,刪除特殊配置 :

 ./kafka-configs.sh --zookeeper 172.19.228.188:2181 --entity-type topics --entity-name __consumer_offsets --alter --delete-config cleanup.policy 

然后系統在后台就清理對應過大的文件了,也就釋放了磁盤空間。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM