根据Cassandra的这些文档,当使用多个数据中心时,每个节点的cassandra-rackdc.properties应该设置其dc_suffix。但是,如果后缀可以是任意的或者应该与某些内容相关,则它不是非常具体。请有人详细说明一下吗?
我们的情况是我们将设置一个九节点集群并使用GoogleCloudSnitch。对于这个问题,我们可以假设我们的集群如下所示:
密钥空间将在所有数据中心使用NetworkTopologyStrategy和复制3。
上面链接中的文档声明数据中心名称区分大小写,因此我认为它应该是例如" dc_suffix = B"对于europe-west1中的b-zone节点,依此类推,即使docs中的示例显示任意名称。只是希望它得到确认,所以我在这方面正确思考,什么是正确的dc_suffix?
答案 0 :(得分:1)
TLDR;
如果您使用,则无需显式设置rackdc.properties文件 “GoogleCloudSnitch”。相反,你只需要这个 “GossipingPropertyFileSnitch”。
您的理解是正确的,在rackdc.properties文件中,“dc”和“Rack”的值都可以是任意的。但重要的是要意识到群集中每个节点的“dc”值决定了它们属于哪个数据中心。类似地,“Rack”表示机器所在机架的“dc”。
所以在你的情况下,“dc”将是“europe-west1”/“europe-west2”/“europe-west3”来配置3个DataCenters。并且“Rack”值分别为“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”您无需明确配置此文件,仍可免费获得Rack和DC信息的好处。因为这个告密者告诉Cassandra自动推断出DC和Rack值。