卡珊德拉的机架配置备忘录
1. RACK(货架)的说明
・在数据中心内对节点进行逻辑分组
・在NetworkTopologyStrategy的情况下,
・Cassandra尝试将副本放置在不同机架的节点上。
・有助于提高故障容忍性。
2. 例子1
如果使用 RAC1:2节点、RAC2:2节点、RAC3:2节点的配置
※本文仅提供一种可能的汉语表达:
– 环境:基于DSE 5.0.15版本的发行版。
– 使用GossipingPropertyFileSnitch。
# nodetool status
Datacenter: DC1
===============
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns Host ID Rack
UN 10.0.2.121 217.08 KB 256 ? c83d76b9-65af-4207-b18d-42eaf829067a RAC1
UN 10.0.2.122 52.05 KB 256 ? 1d5729d3-43ea-4a1d-9af5-edba4e9542dd RAC1
UN 10.0.2.123 148.42 KB 256 ? ad542a12-a585-4821-80f9-f80c9e77922d RAC2
UN 10.0.2.124 192.33 KB 256 ? d875644a-46f4-4c3e-a597-0f9291e25bcf RAC2
UN 10.0.2.125 184.16 KB 256 ? 48dc9ff3-5af7-47b2-ae2a-a4eeae9783a3 RAC3
UN 10.0.2.126 117.46 KB 256 ? bc853588-c7e1-4d61-b02c-020e83034d50 RAC3
Note: Non-system keyspaces don't have the same replication settings, effective ownership information is meaningless
#
如果使用 NetworkTopologyStrategy,并且复制因子为3的话
・在 NetworkTopologyStrategy 的键空间中,尝试将副本放置在不同机架的节点上。
・在此机架配置中,如果复制因子为3,则副本节点的配置有以下8种模式。
RAC1 (10.0.2.121)RAC1 (10.0.2.122)RAC2 (10.0.2.123)RAC2 (10.0.2.124)RAC3 (10.0.2.125)RAC3 (10.0.2.126)○
○
○
○
○
○
○
○
○
○○
○○
○
○
○
○○
○
○○
○
○
○○
○
○
○
比如说,如果使用的是Quorum(本地Quorum)的话,即使其中一个机架全部损坏,也可以继续访问。
如果使用SimpleStrategy进行复制方案,且设置复制因子为3,则为上述情况。
・在SimpleStrategy键空间中,不管机架配置如何,都会放置副本。
・在这种机架配置下,如果复制因子为3,副本将被配置到以下20种模式中的每个节点上。
RAC1 (10.0.2.121)RAC1 (10.0.2.122)RAC2 (10.0.2.123)RAC2 (10.0.2.124)RAC3 (10.0.2.125)RAC3 (10.0.2.126)○○○
○○
○
○○
○
○○
○○
○○
○
○
○
○
○
○○
○○
○
○
○○
○○
○○○
○○
○
○○
○
○
○○
○
○
○
○
○○
○○○
○○
○
○
○○
○○○
三、例子2
如果RAC1有2个节点,RAC2有1个节点,RAC3有3个节点的话
※所使用的环境是基于DSE 5.0.15的发行版和版本。
※采用GossipingPropertyFileSnitch作为配置。
# nodetool status
Datacenter: DC1
===============
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns Host ID Rack
UN 10.0.2.121 143.41 KB 256 ? 7f3c4750-b62f-4316-aee0-40a76df65a1c RAC1
UN 10.0.2.122 191.33 KB 256 ? a3253a3a-02b4-4690-8354-f1abebf44224 RAC1
UN 10.0.2.123 99.46 KB 256 ? bbe6a270-0b12-4513-a8a2-10403854204c RAC2
UN 10.0.2.124 92.72 KB 256 ? 92293582-5d34-4002-bddc-94c1a9ac57c0 RAC3
UN 10.0.2.125 200.07 KB 256 ? 5960b61e-66c7-43a5-b15e-51e896a5085b RAC3
UN 10.0.2.126 151.53 KB 256 ? 3e92cde4-9a59-4642-89a8-ef2e12a62d64 RAC3
Note: Non-system keyspaces don't have the same replication settings, effective ownership information is meaningless
#
如果使用NetworkTopologyStrategy并且复制因子为3的情况下
如果在此架构中设置了复制因子为3,则副本节点的部署有以下6种情况。
由于RAC2只有一个节点,其所属节点为10.0.2.123,因此必须将副本部署在10.0.2.123上。
RAC1 (10.0.2.121)RAC1 (10.0.2.122)RAC2 (10.0.2.123)RAC3 (10.0.2.124)RAC3 (10.0.2.125)RAC3 (10.0.2.126)○
○○
○○
○
○
○
○
○
○
○○○
○○
○
○○
○