【发布时间】:2017-02-28 19:57:31
【问题描述】:
我正在使用 Cassandra 2.2.4。在这些表中,我有一个复制因子为 3 的表,但我只有 2 个节点。这两个节点的已用磁盘空间不同(第一个节点有 10 GB 大小,第二个节点有 14国标)。造成这些差异的原因是什么。
谁能帮帮我?
【问题讨论】:
-
2 个节点的 RF3 背后的原因是什么?并且使用的磁盘空间并不总是相同,但在您的情况下,可能是您的第二个节点正在成为热点。
-
实际上我们需要 3 个复制,这就是为什么我们最初将 RF 设置为 3 和可用的 2 个节点,并决定将来添加一个额外的节点。
-
如果您需要 RF3,那么您可以在添加新节点后更改为 RF3。现在不需要添加。对于两个节点,最大使用 RF2。因为您将无法将第三个复制数据存储到任何节点。
-
表示磁盘空间差异的原因与节点号和RF的差异无关
-
在分布式系统中,数据的分布应该几乎是均等的,但是当单个节点存储的数据越来越多而其他节点存储的数据越来越少时,那么存储大量数据的节点被称为Hot Spot。热点可能有多种原因。但如果发生这种情况,我们和节点的依赖关系较小,我们通常会使用 nodetool decommission 将节点从集群中移除,然后再添加。如果删除会妨碍您的一致性,那么我们添加另一个节点来删除热点节点以保持一致性。
标签: cassandra