备份cassandra集群的最佳做法是什么?

时间:2015-07-15 17:40:10

标签: cassandra cassandra-2.0

我有一个cassandra集群,在多个数据中心有大约20个节点。我想备份cassandra数据库。我希望可以将备份恢复到新群集,即使现有节点中的每个节点同时被流星命中。

  1. 我究竟需要从服务器复制并保留以便对cassandra数据库进行从头开始恢复,以及这些项目存储在何处?我认为这并不像&#34那样简单;快照并将其同步到某个地方"。
  2. 如何执行备份和还原?
  3. 此过程记录在哪里?

1 个答案:

答案 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这样的东西可以恢复到一定的时间段,但是如果你错误地删除了一些行......它们就会消失)。

希望有所帮助。