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