如何解决添加具有一个节点的数据中心以备份现有的一个节点
我已经有一个具有3个节点的工作数据中心(复制因子2)。我想添加仅具有一个节点的另一个数据中心,以使所有备份数据都来自现有数据中心。最终解决方案:
dc1: 3 nodes (2 rf)
dc2: 1 node (1 rf)
然后,我的应用程序将仅连接到dc1节点并发送数据。如果dc1发生故障,我可以从其他位置的另一台物理计算机上的dc2恢复数据。我还可以将dc2用于AI查询或其他任务。我是cassandra配置的新手,所以我想知道自己的想法是否犯了某种错误。我打算使用此配置文档添加新的DC:https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/operations/opsAddDCToCluster.html 为了使它正常工作,我还需要记住什么吗?或者有一些更简单的解决方案来备份数据?
更新:它不仅是备份,在dc1不可用(例如断电)时,我们也不会使用第二个DC来连接应用程序。
更新:dc2正在运行,我在将数据从一个DC复制到另一个DC时遇到了一些问题,nodetool的状态未显示2个DC,但是在修复端口7000的防火墙规则后,我设法连接了两个DC并在它们之间共享数据。
解决方法
使用这种方法,您的单个节点将获得比其他节点多2倍的流量。另外,它可能会给dc1中的节点增加负载,因为当dc2
中的节点不可用时,它们将需要收集提示等。如果只需要备份,请设置medusa之类的东西,然后将数据存储在S3之类的廉价环境中-但是,当然,如果丢失了整个DC,将需要一些时间来还原。
但是实际上,您需要考虑您的高可用性策略-如果您失去了主DC,您的客户会发生什么?等待恢复才是关键,还是您确实需要完全的容错能力?我建议阅读DataStax的Designing Fault-Tolerant Applications with DataStax and Apache Cassandra™白皮书-它解释了设计真正的容错应用程序的详细信息。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。