zookeeper 日誌清理
zookeeper伺服器會產生三類日誌:事務日誌、快照日誌和叢集伺服器執行日誌。
在zookeeper預設配置檔案zoo.cfg中有一個配置項dataDir,該配置項用於配置zookeeper快照日誌和事務日誌的儲存地址。在官方提供的預設參考配置檔案zoo_sample.cfg中,只有dataDir配置項。其實在實際應用中,還可以為事務日誌專門配置儲存地址,配置項名稱為dataLogDir,在zoo_sample.cfg中並未體現出來。在沒有dataLogDir配置項的時候,
zookeeper預設將事務日誌檔案和快照日誌檔案都儲存在dataDir對應的目錄下。建議將事務日誌(dataLogDir)與快照日誌(dataLog)單獨配置,因為當zookeeper叢集進行頻繁的資料讀寫操作是,會產生大量的事務日誌資訊,將兩類日誌分開儲存會提高系統性能,而且,可以允許將兩類日誌存在在不同的儲存介質上,減少磁碟壓力。
zookeeper叢集伺服器執行日誌,該日誌的配置地址在conf/目錄下的log4j.properties檔案中,該檔案中有一個配置項為“zookeeper.log.dir=.”,表示log4j日誌檔案在與執行程式(zkServer.sh)在同一目錄下。當執行zkServer.sh 時,在該資料夾下會產生zookeeper.out日誌檔案。下面主要介紹事務日誌與快照日誌。
1,zoo.cfg配置
[root@bigserver1 conf]# cat zoo.cfg ticketTime=2000 clientPort=2181 dataDir=/bigdata/zookeeper/data dataLogDir=/bigdata/zookeeper/logs autopurge.snapRetainCount=96//保留96個檔案 autopurge.purgeInterval=48//日誌保留48小時 initLimit=10 syncLimit=5 server.1=bigserver1:2888:3888 server.2=bigserver2:2888:3888 server.3=testing:2888:3888
autopurge.snapRetainCount和autopurge.purgeInterval配置引數,zookeeper3.4以後才有。
2,zookeeper日誌目錄介紹
/bigdata/zookeeper/data 快照日誌
/bigdata/zookeeper/logs 事務日誌
/bigdata/zookeeper/errorlog 伺服器日誌,預設配置
3,重啟前檢視日誌大小
[root@bigserver2 version-2]# du -sh//事務日誌 4.9G . [root@bigserver2 version-2]# ls |wc -l 1512 [root@bigserver2 version-2]# du -sh//快照日誌 5.0G . [root@bigserver2 version-2]# ls |wc -l 1514
4,重啟zookeeper後
[root@bigserver2 version-2]# du -sh//事務日誌 206M . [root@bigserver2 version-2]# ls |wc -l 96 [root@bigserver2 version-2]# du -sh//快照日誌 415M . [root@bigserver2 version-2]# ls |wc -l 98