Kafka日誌清除策略

2021-10-17 23:07:26 字數 1578 閱讀 2172

基於時間的刪除策略

server.properity檔案中設定如下:

log.retention.hours=

168//7d

log.retention.check.interval.ms=

300000

//5min

log.segment.bytes=

1073741824

//1g

log.cleaner.

delete

.retention.ms=

86400000

// 1d

log.cleaner.backoff.ms=

15000

//15s

每個segment的大小為1gb,每5分鐘檢查一次是否有segment已經查過了7d,如果有將其標記為deleted。標記為deletedsegment缺省會保留1天,清理執行緒會每隔15秒檢查一次,是否有標記為deleted的segment的保留時間超過一天了,如果有將其從檔案系統刪除。

大家注意,kafka清理時是不管該segment中的訊息是否被消費過,它清理的依據為是否超過了指定的保留時間,僅此而已。

基於大小的刪除策略

log.retention.bytes引數預設沒有指定。
混合策略同時指定log.retention.byteslog.retention.hours=168,那麼哪個先達到就以哪個為準.

kafka還提供了日誌壓縮(log compaction)功能,通過這個功能可以有效的減少日誌檔案的大小,緩解磁碟緊張的情況,在很多實際場景中,訊息的 key 和 value 的值之間的對應關係是不斷變化的,就像資料庫中的資料會不斷被修改一樣,消費者只關心key對應的最新的value。因此,我們可以開啟kafka的日誌壓縮功能,服務端會在後台啟動啟動cleaner 執行緒池,定期將相同的 key 進行合併,只保留最新的 value 值。

kafka日誌到達清除時間後,並不會真正清除,只是標記為deleted, 真正刪除還有乙個延時,這個時間通過log.cleaner.delete.retention.ms引數進行設定

kafka — 全面解析kafka以及訊息傳輸流程(一)_haqiu.hwang的部落格-csdn部落格

使用shell指令碼清除日誌的策略

usr bin env bash file path 日誌路徑 file size du m awk 日誌路徑下的檔案大小 default size 35 1024 預設乙個ip日誌檔案的總量為35g over size 現有的檔案總量是35g的倍數 flag size over size 1 ov...

Sql清除日誌

問題補充 sql的日誌可以清除嗎?方法2 6都可以 1 收縮資料庫檔案 如果不壓縮,資料庫的檔案不會減小 企業管理器 右鍵你要壓縮的資料庫 所有任務 收縮資料庫 收縮檔案 選擇日誌檔案 在收縮方式裡選擇收縮至xxm,這裡會給出乙個允許收縮到的最小m數,直接輸入這個數,確定就可以了 選擇資料檔案 在收...

清除Sql日誌

今天 剛上班不久,業務部就反應 的資料從凌晨兩點後就沒有更新了 初步估計是脆弱的資料庫伺服器又出問題了 果然,剛登陸上資料庫伺服器,系統就彈出提示,xx資料庫日誌已經滿,請備份資料庫日誌.這個想來正常,昨天檢視該資料庫日誌檔案的時候已經是6g多了,只是沒想到來得這麼快,廢話少說,馬上動手 根據以往的...