单机zookeeper 启动加载数据
- 读取磁盘中快照文件,选择其中第一个能正确加载的文件,最多加载100个快照文件。
- 反序列化快照文件,进行内存DataTree数据加载
- 根据最新事物日志,加载事物日志快照并进行反序列化
- 重新执行事物日志中的操作,进行内存数据恢复
- 清除无用的会话和临时节点(主要是个兜底,正常在事物日志的closession操作的时候就会清理。但是如果事物日志被人为删除,就需要兜底删除机制了)
ZooKeeperServer.startdata
FileTxnSnapLog.restore 加载快照日志
zookeeper的日志文件分为2种:
1 快照日志,保存完整的数据
2 事物日志,记录了当前还没有进行快照的操作记录