4

是否可以强制 ZooKeeper 在特定时间或特定时间间隔拍摄快照,不仅通过 ZooKeeper 配置中的“snapCount”

我喜欢每天或每 24 小时安排一次快照。要么是在 ZooKeeper 中配置,要么是通过 cmdline 强制执行。

这是为了及时“回滚”我的 ZooKeeper 到已知状态,以防数据损坏或有人添加了不正确的信息。

4

2 回答 2

2

我发现强制快照的唯一方法是重新启动 Zookeeper 节点,使其使用最新数据创建新快照。如果您使用合奏,这是一个很好的解决方案。至少,如果您同时拍摄快照和最新日志文件,您将获得一致性数据(快照是模糊的,强烈建议将其与事务日志一起使用)。 考虑到这一点,我想强制快照并不是真正必要的(无论如何你都应该获取日志文件)。在活动的zookeeper上复制日志文件也不是一个好主意...... 所以停止zookeeper节点并复制它的dataDir(如果它是分开的,则带有dataLogDir)以保证在您停止zk时具有一致数据的健康备份。

于 2016-03-02T12:45:53.793 回答
1

我不相信 Zookeeper 内部支持这个功能。但是,您始终可以手动将最新的快照和日志文件(各一个)复制到某处以进行安全保存。回滚到那个时间是在需要时将文件复制回数据目录的问题。

于 2013-01-15T03:20:33.687 回答