是否可以强制 ZooKeeper 在特定时间或特定时间间隔拍摄快照,不仅通过 ZooKeeper 配置中的“snapCount”
我喜欢每天或每 24 小时安排一次快照。要么是在 ZooKeeper 中配置,要么是通过 cmdline 强制执行。
这是为了及时“回滚”我的 ZooKeeper 到已知状态,以防数据损坏或有人添加了不正确的信息。
是否可以强制 ZooKeeper 在特定时间或特定时间间隔拍摄快照,不仅通过 ZooKeeper 配置中的“snapCount”
我喜欢每天或每 24 小时安排一次快照。要么是在 ZooKeeper 中配置,要么是通过 cmdline 强制执行。
这是为了及时“回滚”我的 ZooKeeper 到已知状态,以防数据损坏或有人添加了不正确的信息。
我发现强制快照的唯一方法是重新启动 Zookeeper 节点,使其使用最新数据创建新快照。如果您使用合奏,这是一个很好的解决方案。至少,如果您同时拍摄快照和最新日志文件,您将获得一致性数据(快照是模糊的,强烈建议将其与事务日志一起使用)。 但考虑到这一点,我想强制快照并不是真正必要的(无论如何你都应该获取日志文件)。在活动的zookeeper上复制日志文件也不是一个好主意...... 所以停止zookeeper节点并复制它的dataDir(如果它是分开的,则带有dataLogDir)以保证在您停止zk时具有一致数据的健康备份。
我不相信 Zookeeper 内部支持这个功能。但是,您始终可以手动将最新的快照和日志文件(各一个)复制到某处以进行安全保存。回滚到那个时间是在需要时将文件复制回数据目录的问题。