ZooKeeper 默认不清理旧的快照和事务日志,磁盘会一直涨,直到写满(第 57 篇看写满的后果)。这篇量一下增长有多快,再用官方清理工具和 autopurge 清理。
累计写入 快照数 快照合计 MiB 日志文件数 日志表观 MiB 日志实占 MiB
10000 13 10.6 13 832 2.1
30000 26 51.0 40 2560 6.3
60000 38 144.7 81 5184 12.6磁盘监控要看实际占用(文件系统块数),不要用 ls -l 的表观大小——事务日志是预分配的稀疏文件(这是 macOS APFS 上的现象,别的文件系统可能不是稀疏的)。
清理前:38 个快照、81 个日志文件;清理后:3 个快照、10 个日志文件;日志实占 12.6 → 1.4 MiB 保留下来的快照: ['snapshot.d37b', 'snapshot.d6de', 'snapshot.e77a'] 清理后重启:znode 数 60005 (数据没丢)
autopurge.snapRetainCount set to 3 autopurge.purgeInterval set to 1 Purge task started. Purge task completed.