在多数据中心集群中使用GoogleCloudSnitch时,cassandra-rackdc.properties中的dc_后缀应设置为什么?

在多数据中心集群中使用GoogleCloudSnitch时,cassandra-rackdc.properties中的dc_后缀应设置为什么?,cassandra,Cassandra,根据这些针对Cassandra的文档,当使用多个数据中心时,每个节点的Cassandra-rackdc.properties应设置其dc_后缀。然而,它不是很具体,如果后缀可以是任意的或应该涉及到的东西。有人能详细说明一下吗 我们的情况是,我们将设置一个九节点集群,并使用GoogleCloudSnitch。对于这个问题,我们可以假设我们的集群如下所述: 区域:欧洲西部1,区域:b、c、d(每个区域上一个节点) 区域:欧洲-西部2,区域:a、b、c(每个区域上一个节点) 区域:欧洲-西部3,区域

根据这些针对Cassandra的文档,当使用多个数据中心时,每个节点的Cassandra-rackdc.properties应设置其dc_后缀。然而,它不是很具体,如果后缀可以是任意的或应该涉及到的东西。有人能详细说明一下吗

我们的情况是,我们将设置一个九节点集群,并使用GoogleCloudSnitch。对于这个问题,我们可以假设我们的集群如下所述:

  • 区域:欧洲西部1,区域:b、c、d(每个区域上一个节点)
  • 区域:欧洲-西部2,区域:a、b、c(每个区域上一个节点)
  • 区域:欧洲-西部3,区域:a、b、c(每个区域上一个节点)
密钥空间将在所有数据中心上使用NetworkTopologyStrategy和replication 3


上面链接中的文档说明数据中心名称区分大小写,因此我假设它应该是例如europe-west1中b-zone节点的“dc_suffix=b”,等等,即使文档中的示例显示了任意名称。只是想确认一下,所以我正确地想,什么是正确的dc_后缀?

TLDR

如果使用,则不必显式设置rackdc.properties文件 “谷歌云告密者”。相反,你只需要这个 “八卦房地产文件告密者”

您的理解是正确的,在rackdc.properties文件中,“dc”和“Rack”的值可以是任意的。但重要的是要认识到,集群中每个节点的“dc”值决定了它们属于哪个数据中心。同样,“机架”表示机器所在的“dc”内的机架

因此,在您的情况下,“dc”将是“europe-west1”/“europe-west2”/“europe-west3”,以配置3个数据中心。“机架”值分别为“a”/“b”/“c”/“d”。以这种方式配置rackdc.porperties文件将使“nodetool status”输出看起来像

    Datacenter: europe-west1
    =======================
    Status=Up/Down
    |/ State=Normal/Leaving/Joining/Moving
    --  Address    Load       Tokens  Owns    Host ID                               Rack
    UN  127.0.0.1  47.66 KB   1       33.3%   aaa1b7c1-6049-4a08-ad3e-3697a0e30e10  b
    UN  127.0.0.2  47.67 KB   1       33.3%   1848c369-4306-4874-afdf-5c1e95b8732e  c
    UN  127.0.0.3  47.67 KB   1       33.3%   49578bf1-728f-438d-b1c1-d8dd644b6f7f  d

    Datacenter: europe-west2
    =======================
    Status=Up/Down
    |/ State=Normal/Leaving/Joining/Moving
    --  Address    Load       Tokens  Owns    Host ID                               Rack
    UN  127.0.0.4  47.66 KB   1       33.3%   aaa1b7c1-6049-4a08-ad3e-3697a0e30e10  a
    UN  127.0.0.5  47.67 KB   1       33.3%   1848c369-4306-4874-afdf-5c1e95b8732e  b
    UN  127.0.0.6  47.67 KB   1       33.3%   49578bf1-728f-438d-b1c1-d8dd644b6f7f  c

    Datacenter: europe-west3
    =======================
    Status=Up/Down
    |/ State=Normal/Leaving/Joining/Moving
    --  Address    Load       Tokens  Owns    Host ID                               Rack
    UN  127.0.0.1  47.66 KB   1       33.3%   aaa1b7c1-6049-4a08-ad3e-3697a0e30e10  a
    UN  127.0.0.2  47.67 KB   1       33.3%   1848c369-4306-4874-afdf-5c1e95b8732e  b
    UN  127.0.0.3  47.67 KB   1       33.3%   49578bf1-728f-438d-b1c1-d8dd644b6f7f  c
但是,如果您使用的是“GossipingPropertyFileSnitch”,则需要对rackdc.properties文件进行此配置


使用“GoogleCloudSnitch”,您不必显式配置此文件,仍然可以免费获得机架和DC信息的好处。因为这个告密者告诉卡桑德拉自动推断DC和机架值。

我只想再澄清一件事,因为我意识到你的答案只适用于在谷歌上使用单个数据中心的情况。在示例所示的具有多个数据中心的场景中,dc_后缀是什么?文档说明应该设置dc_后缀,但这是任意的还是应该映射到特定的东西?请注意,我要求的是“dc_后缀”,而不是“dc”或“rack”。它本质上是一个附加到您指定的“dc”值的“后缀”值。如果使用GoogleCloudSnitch或AWSSnitch,默认DC名称将为该地区(例如AWS中的美国东部)。在美国东部,如果您想创建两个逻辑DC,比如analytics和OLTP,您可以使用DC_后缀=“-analytics”启动某些节点,使用“-OLTP”启动其他节点。它只是被添加到DC“美国东部”,成为美国东部分析。