我在cassandra.yaml文件中启用了增量备份。据我所知,当我们启用增量备份时,cassandra将仅在刷新memtable时备份数据(在备份目录中)。但如果记忆尚未被刷新怎么办?我无法获得增量备份吗?我知道,对于要刷新的记忆,有一些条件需要满足,如时间间隔或可记忆空间。我的问题是如何修改它,以便即使我在最后一个快照后输入一条记录,我仍然可以备份整个数据以及最新的条目? 考虑这个例子
现在如何备份在上一次快照之后写入的记录?一般来说,除非我们拍摄快照,否则我们如何备份整个最新数据?
答案 0 :(得分:1)
您可以在进行备份之前使用nodetool flush
手动刷新文件。这样你就可以随时刷新最新的记忆。
答案 1 :(得分:0)
如果要在不拍摄快照的情况下备份群集,只需将/ data文件夹中的所有内容保存到每个节点(这主要包括.db文件统计文件等)即可。
为了不覆盖文件,您还应该使用令牌信息存储它。
如果要从此备份还原,则应该启动具有相同节点数的群集,只需将数据从每个备份节点一对一地复制到已还原的节点。请注意,您必须修改cassandra.yaml,以便在每个已恢复节点的cassandra.yaml(以及peers / seeds / etc)中包含相关令牌。
复制完所有数据后,您可以在所有节点上启动C *进程。