2

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

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

如何分离集群?那可能吗?
我们在集群中有大约 600GB 的数据,我们无法删除它。

4

1 回答 1

4

您应该先对此进行测试,但这个基本过程应该可以工作。如果您有计数器,则需要进行一些调整。

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

这应该适用于零数据丢失。

于 2014-01-20T22:38:43.167 回答