如何设置 Cassandra 集群

How to setup Cassandra clusters

目前,我们必须设置 Cassandra 集群以支持两个数据中心。我们大概知道数据库集群可以设置成下图

根据这张图

假设我们有6个数据库节点。

关于最后一位,

数据中心 1 中的 1.3 个节点。

数据中心 2 中有 2.3 个节点。

3.Create一个集群,包含所有节点。

4.When创建密钥space,可以使用NetWorkToplogyStrategy和复制因子DC1:2,DC2:2实现跨数据中心的数据复制。

正在重新评分,

集群 1 中的 1.3 个节点,数据中心 1。

集群 2 中的 2.3 个节点,数据中心 2。

现在,我有一个问题,如何设置集群1和集群2或数据中心1和数据中心2之间的复制机制。

谢谢。

根据你的描述,你最下面的图片确实是cassandra模型。一个集群拥有您需要的任意数量的 DC。您可以随意配置 DC 之间的复制(通过键空间)。如果您有 2 个独立的集群,它们不会相互复制,因为它们是完全独立的数据库。底部图片是 Cassandra 的工作原理,这就是您所需要的。每个节点都被视为主节点(即 Cassandra 中没有主节点——每个节点都是平等的)。

只是为您的图表添加注释: 拥有一个 RF=2 的 3 节点 DC,在提供一些冗余的同时,带走了最常见的客户端一致性选项之一 - LOCAL_QUORUM。原因是因为 2 的 LOCAL_QUORUM 是 2 = ALL - 意思是如果你选择那个,你已经完全牺牲了一些数据的可用性组件(意味着 "local" DC 上的所有节点都必须是随时可用,以确保不会发生错误)。如果您计划选择 LOCAL_QUORUM 作为选项,您应该更改 RF=3,允许单个节点不可用而不会出现问题。

-吉姆