开发者社区 > 数据库 > NoSQL数据库 > 正文

停掉一个节点为什么查不到数据呢

3节点集群,RF=2,种子节点=2,RL=QUORUM,WL=QUORUM
每个节点是全量数据,通过快照refresh来的
我停掉2个种子节点中的一个,就查不到数据了
报错如下
报错1.png 主要是之前在测试环境这样测过,任意停1台,不影响集群读写的

展开
收起
游客n67wbod3jsomi 2023-05-07 21:06:44 174 0
1 条回答
写回答
取消 提交回答
  • 随心分享,欢迎友善交流讨论:)

    当您停掉2个种子节点中的一个时,由于您的RF设置为2,即只需要2个节点就可以完成读写操作,但是现在只剩下一个节点,因此无法完成读写操作,导致查不到数据。

    在Cassandra中,Quorum Consistency Level表示需要在至少一半节点上完成读写操作,因此在您的情况下,如果同时停掉了两个种子节点,那么数据就会无法读写。

    为了防止您的数据丢失,建议您增加节点的数量或者将RF设置为3,这样即使有一个节点停机,仍然可以保证Quorum Consistency Level的要求。另外,建议您使用NetworkTopologyStrategy来定义副本策略,以便更好地保护您的数据。

    2023-05-08 09:42:22
    赞同 展开评论 打赏

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载