即时Cassandra备份&复苏

时间:2015-03-17 05:23:35

标签: cassandra backup recovery point-in-time

我读过关于Cassandra备份&在这里恢复,并有几个问题:

  1. 原生Cassandra CLI命令是否足够?我看到很多人编写脚本并自定义自己的解决方案。
  2. 你会推荐哪些其他工具用于Cassandra备份和恢复?我正在寻找可以帮助我管理备份图像的东西(例如,使用时间点)
  3. 如果我选择备份我的Cassandra表,是否需要对存储进行大量投资?
  4. 任何见解都将不胜感激。

2 个答案:

答案 0 :(得分:4)

请尝试将您的问题限制在一个实际问题中。

  

本机Cassandra CLI命令是否足够?

我认为你的意思是nodetool snapshot,所以在大多数情况下,"是的。"此外,许多用户还选择启用incremental backups。结合使用快照和增量备份(来自链接的文档)" 提供了可靠的,最新的备份机制。"

  

我看到很多人编写脚本并自定义自己的解决方案。

我有一个每晚在我的节点上运行的备份脚本。这有两个原因。

  1. 我不想每周为每个键空间手动拍摄快照,所以我有脚本执行此操作。

  2. 快照和增量备份文件不会自行删除,因此我会在一定的时间阈值后执行该脚本。

  3.   

    你会为Cassandra备份和恢复推荐哪些其他工具?

    DataStax OpsCenter allows you to schedule backups,但我认为这只是企业版中的有效选项。您还可以查看名为Priam的Netflix的Cassandra备份/恢复工具。还有一家名为Talena的公司声称为Cassandra提供了广泛的企业级备份解决方案(我不认识任何使用它们的人,但他们最近给我打了一封营销电子邮件,所以我以为我会提到它。)

      

    如果我选择备份我的Cassandra表,是否需要对存储进行大量投资?

    增量备份和快照可能会占用大量空间,如果您不掌握它们(删除和/或存档它们)。我会尝试两种方式,并在你做的时候留意你的磁盘使用情况。如果您的业务需求有关于服务条款的声明(您需要恢复到多远),您应该能够确定有多少天的备份对您来说是有意义的。这应该告诉你是否需要更多的磁盘来履行这些义务。

    编辑20181205

      

    您是否在每个节点上运行nodetool快照?如果有三个节点具有100%复制,那么该方法会是什么。

    通常是,nodetool snapshot需要在每个节点上运行。这有助于确保备份覆盖,因为并非所有节点都可能负责所有数据。

    但是,如果您的群集在节点数等于RF的配置中运行,则每个节点都有一个完整的数据副本。在那个的情况下,您只需要在一个节点上运行nodetool snapshot;只要您确信维修定期运行且数据一致。

答案 1 :(得分:2)

关于Cassandra的时间点备份和恢复,根据您的需求和限制,您需要考虑以下几个方面:

  1. 存储空间
    • 今天提供的所有解决方案都会对您的基础架构造成很大压力,因为它们要求您存储3倍您绝对需要的数据,假设您的复制因子为3。
    • 我同意@Aaron,你需要自己管理快照,因为这些工具不会为你做“垃圾收集”:)
  2. 故障恢复能力
    • 那里的所有解决方案,opscenter和其他解决方案提供有限的故障恢复能力。如果Cassandra节点在备份窗口期间出现故障,您将丢失数据。
    • 如果在增量备份期间发生增量备份并发生节点故障,则会出现这种情况
  3. 恢复时间/速度
    • 请注意,您可能需要在恢复期间执行“修复”过程。这是必需的,因为本机工具提供的节点级快照在整个群集中不一致。
    • 根据您的RTO / RPO需求,这可能不够。我建议您在到达任何解决方案之前测试操作的备份和恢复时间。
  4. 如果您正在寻找用于Cassandra备份和恢复的企业级解决方案,您可能需要查看“Datos IO”提供的解决方案。它可将存储空间减少3倍,同时还提供故障恢复和集群一致性。