如果有人能帮忙回答以下问题,我们将不胜感激。
- rf=复制因子
- cl=一致性水平
我们有很强的一致性和更高的可用性的要求。所以,我一直在测试7个节点的scylladb集群的rf和cl,保持rf=7(每个节点上100%的数据)和cl=quorum。如果2个节点宕机,数据拷贝/复制会发生什么变化?它是否将2个下行节点的数据(第6和第7个副本)复制到其余5个节点上?还是干脆丢弃这些拷贝?当只有5个活动节点时,rf=7会有什么影响?
我在日志里找不到任何东西。我们有这个案子的文件/链接参考吗?或者我该如何验证和证明这种行为?请解释一下?
2条答案
按热度按时间dpiehjr41#
数据将始终复制到所有节点,因为您已将rf设置为7如果有2个节点关闭,则其余节点将存储这些节点的提示一次,节点出现,其余节点将根据提示周期自动复制数据。如果提示周期(默认3小时)已过,则需要运行手动修复以在群集中获得数据同步。
p4tfgftt2#
rf=7时,数据总是复制到7个节点。当一个(或两个)节点宕机时,其余五个节点已经有了一个副本,不需要额外的流。
使用cl=quorum,即使有三个节点关闭,也不会影响ha或一致性。当失败节点恢复生命时,它们将被同步,或者自动使用暗示的切换(对于短故障)或者修复(对于长故障)[1]
如果替换一个死节点[2],则其他副本会将数据流式传输到该节点,直到该节点的速度达到
[1] https://docs.scylladb.com/architecture/anti-entropy/ [2] https://docs.scylladb.com/operating-scylla/procedures/cluster-management/replace_dead_node/