我有一个cassandra集群,在多个数据中心有大约20个节点。我想备份cassandra数据库。我希望可以将备份恢复到新群集,即使现有节点中的每个节点同时被流星命中。
答案 0 :(得分:9)
传统"备份和恢复"信息可以在这里找到: http://docs.datastax.com/en/cassandra/2.1/cassandra/operations/ops_backup_restore_c.html
基本上,您在每台计算机上拍摄快照,然后备份文件。几乎"拍摄快照并将其同步到某个地方" !!增量备份有助于减少备份大小等。链接更详细地解释了它。
然而,如果你想要的只是一个"二级"如果机器被流星击中,可以使用它,然后常见的方法是拥有另一个数据中心(通常具有更少的节点),并在键空间上设置复制因子,以便"备份&# 34;数据中心已将数据复制到。您的应用通常会使用本地仲裁来写入" main"数据中心,而备份将服务......好......作为备份。如果备用DC功能强大,它甚至可以作为热备份。
通过此设置,cassandra会在添加后将数据流式传输到备份。这可以防止基于快照的繁琐备份与存储在网络上的文件。但是,这不会保护dev不会错误地删除cassandra中的数据。 (像drop keypace这样的东西可以恢复到一定的时间段,但是如果你错误地删除了一些行......它们就会消失)。
希望有所帮助。