問題:
注意到自己負責kafka的某個topic最小的偏移量為0,而最大的偏移量都7億多了,說明存儲在kafka里面的數據沒有定時刪除,通過登陸到kafka服務器,查看配置文件services.properties,發現log.retention.hours=876000(100年),我猜想配置kafka的人是怕數據丟失,直接保存了所有的數據。
方法:
我這邊修改為log.retention.hours=4320(半年,根據實際情況設置),然后重啟kafka,就生效了。
(其中,當該配置生效之后,對應topic的最小偏移量也會隨之改變,我們程序中,也會保存當前的offset到zookeeper中。如果程序重新啟動,我們會直接從zookeeper中讀取offset進行消費數據,如果該offset小於該topic最小偏移量,則我們會從最小偏移量開始消費數據。)
