如何确定Cassandra群集中特定节点的同步状态是最新的?

问题描述 投票:0回答:1

假设我有两个节点cassandra集群,它们位于物理上不同的数据中心上。假设该群集中的数据库的复制因子为2,这意味着该数据库中的每个数据都应相互同步。假设此数据库是一个庞大的数据库,它具有数百万个表的记录。我将这些节点中心命名为node1node2。假设node2不可靠,并且该服务器上发生了崩溃,需要几天的时间进行修复,并使服务器恢复到正常运行状态。之后,根据我的轻描淡写,node1node2之间应该存在间隙,并且可能需要大量时间才能将node2node1同步。因此,需要一种方法来测量同步发生的平均时间node2与node1之间的差距吗?一段时间后,我应该如何确保node2等于node1?如果根据cassandra architechure对这个问题不对,请纠正我。

cassandra
1个回答
0
投票

所以,让我们从您的描述开始。 2节点群集,听起来不错,但是2个不同数据中心(DC)中的2个节点-设计不好,但是可行。每个数据中心应具有多个节点,以确保您的数据高度可用。无论如何,让我们假设您有一个2节点群集,每个DC中有1个节点。复制因子(RF)在键空间级别定义(而不是在集群级别-每个DC将具有特定键空间的RF设置(如果未为特定DC指定,则为0))。话虽如此,如果每个DC的密钥空间中每个节点只有一个节点,则您的RF不能为RF = 2(如果这没有意义,请参阅下面的RF描述)。因此,我们现在也将其搁置一旁。

© www.soinside.com 2019 - 2024. All rights reserved.