繁体   English   中英

将 Cassandra 备份恢复到新节点

[英]Restore Cassandra backup to new node

我在 AWS EC2 的开发环境中有一个 4 节点 Cassandra 集群,由于某种原因,所有节点都终止了,所以我用新的 IP 地址和机器名称启动了新的 EC2 实例。

我的问题是我可以将快照备份还原到具有新 IP 地址的新节点吗? Cassandra 是否需要具有相同的机器名称和 IP 地址才能正确恢复备份? 换句话说,我可以将备份恢复到具有不同 IP 和机器名称的节点吗?

Alex 部分正确,因为集群大小(节点数)需要匹配。 与此相关的另一部分是,备份/快照仅适用于具有与原始节点匹配的令牌范围的节点。

如果 RF < 节点数,则每个备份将不会包含所有数据。 因此,您需要确保正确的备份最终在正确的节点上。 如果您将数据复制/恢复到不对其负责的节点(从令牌范围的角度来看),它将无法访问。

如果您想确定,您可以将所有数据复制到每个节点,还原,然后运行nodetool cleanup 假设每个节点的磁盘都有足够的空间供它使用,这将起作用。

如果您没有丢失带有数据的 EBS 卷,那么只需将它们挂载到新机器上 - 您需要拥有相同数量的节点。 在这种情况下,您将在之前的 state 中获得工作集群,因为 Cassandra 节点是由节点加入集群时创建的 UUID 标识的,因此之后您可以更改 ZA12A3079E14CED46E69BA52B8A90B21 地址等没有问题。

如果您丢失了带有数据的磁盘,那么您可以将备份恢复到新机器,但它会更长。 恢复备份的方法取决于您如何进行备份以及如何设置新节点。 但是sstableloader应该适用于所有情况。 而且您不需要像以前一样拥有相同的 IP。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM