目前,我们的 Cassandra 集群中有 12 个节点在运行。即使有几个节点出现故障,我们仍然可以正常运行。出于偏执,我希望每天至少进行一次备份并将其存储在 Amazon S3 上。我的问题如下:
备份 Cassandra 时,从一个节点运行备份就足够了吗,还是我必须从 12 个节点中的每一个节点运行备份脚本并将其各自的备份推送到 S3?如果某一时刻需要恢复,我们是否必须从各个节点备份中进行备份,或者是否有办法将备份(假设您需要从每个节点单独获取它们)“聚合”到一个大型恢复过程中?
文档有点令人困惑。我只想在我的 Cassandra 集群上实现高效的备份流程。
答案1
您需要备份每个节点,除非每个节点都存储了 100% 的数据,否则您只能备份一个节点。
答案2
备份 Cassandra 最简单的方法是备份每个节点。我以前用过 tablesnap 自动备份,效果还不错。Netflix 也有 Priam,但我个人还没有试过。 https://github.com/Netflix/Priam