我已经在cassandra.yaml文件中启用了增量备份。正如我所知道的,当我们启用增量备份时,cassandra只在memtable被刷新时才会备份数据(在备份目录中)。但如果记事本还没被冲掉呢?我无法得到增量备份,对吗?我知道要冲洗备忘录有一定的条件需要满足,例如时间间隔或记忆空间。我的问题是如何修改它,以便即使在上一次快照之后输入一条记录,我仍然可以备份整个数据以及最新的条目?考虑一下这个例子
现在,我如何备份在上一个快照之后写入的记录?通常,除非我们获取快照,否则如何备份整个最新数据?
发布于 2015-04-21 04:18:05
在进行备份之前,您可以使用nodetool flush手动刷新文件。那样的话,你就可以随时得到最新的记忆。
发布于 2015-04-21 03:55:25
如果您想要备份集群而不获取快照,可以通过从每个节点保存/data文件夹下的所有内容(这主要包括.db文件、stats文件等)来实现。
为了不覆盖文件,您也应该将它与令牌信息一起存储。
当您想要从此备份恢复时,您应该使用相同数量的节点旋转一个集群,并简单地将数据从每个备份节点一对一地复制到还原的节点。请注意,您必须修改cassandra.yaml,以便在每个恢复的节点的cassandra.yaml (以及对等节点/种子/等)中包含相关的令牌。
在复制所有数据之后,可以在所有节点上启动C*进程。
https://stackoverflow.com/questions/29699167
复制相似问题