如何在cassandra中分离环和簇

如何在cassandra中分离环和簇,cassandra,datastax-enterprise,datastax,Cassandra,Datastax Enterprise,Datastax,我们有一个cassandra DSE集群,cassandra环有10个节点,hadoop环有10个节点。现在,应用程序将数据写入cassandra环,cassandra将数据复制到hadoop环 我们希望将这两个环分开,使它们成为两个不同的集群,应用程序同时将数据写入两个集群 如何分离集群?这可能吗? 集群中有大约600GB的数据,我们无法删除它。您应该先测试一下,但这个基本过程应该可以正常工作。如果你有计数器,它需要一些调整 使用本地仲裁将应用程序写入两个DC 对整个群集运行修复。这是为了确保

我们有一个cassandra DSE集群,cassandra环有10个节点,hadoop环有10个节点。现在,应用程序将数据写入cassandra环,cassandra将数据复制到hadoop环

我们希望将这两个环分开,使它们成为两个不同的集群,应用程序同时将数据写入两个集群

如何分离集群?这可能吗?

集群中有大约600GB的数据,我们无法删除它。

您应该先测试一下,但这个基本过程应该可以正常工作。如果你有计数器,它需要一些调整

  • 使用本地仲裁将应用程序写入两个DC
  • 对整个群集运行修复。这是为了确保每个DC都有一份数据副本
  • 隔离集群,使两个DC不能相互通信,可能使用防火墙
  • 假设您的DC是DC1和DC2,则在DC1上将复制因子更改为DC2:0,在DC2上将复制因子更改为DC1:0
  • 在每个DC上,为另一个DC中的每个节点运行“nodetool removenode”。这只会从环中删除关闭的节点,但不会对数据产生任何影响,因为其他节点的复制因子为零

  • 这应该可以在零数据丢失的情况下工作。

    您应该首先测试这一点,但这个基本过程应该可以工作。如果你有计数器,它需要一些调整

  • 使用本地仲裁将应用程序写入两个DC
  • 对整个群集运行修复。这是为了确保每个DC都有一份数据副本
  • 隔离集群,使两个DC不能相互通信,可能使用防火墙
  • 假设您的DC是DC1和DC2,则在DC1上将复制因子更改为DC2:0,在DC2上将复制因子更改为DC1:0
  • 在每个DC上,为另一个DC中的每个节点运行“nodetool removenode”。这只会从环中删除关闭的节点,但不会对数据产生任何影响,因为其他节点的复制因子为零

  • 这应该可以实现零数据丢失。

    谢谢richard。我来测试一下。谢谢你,理查德。我将测试它。