首页 > 解决方案 > 如何使用多节点 cassandra 集群修复 UPDATE 问题

问题描述

我有一个带有 2 个节点的 cassandra 集群,在这种情况下,如果其中一个节点出现故障,一旦两个节点都启动,我将无法在 cql 中进行更新操作,我可以这样做

标签: cassandra-3.0

解决方案


Cassandra 集群只有 2 个节点并不是一个好的选择。但是,这就是您所拥有的,如果您因为节点关闭而无法操作数据,则意味着您的客户端一致性级别 (CL) 高于可用于存储数据的节点数(无论如何都适用您在 cassandra 中有多少个节点)。所以我的猜测是您的客户端 CL 设置为某个仲裁级别(LOCAL_QUORUM 或 QUORUM)或 ALL。任何 QUORUM 都将 = 2,在您的情况下,由于只有一个节点可用,这将失败。您可以设置您的客户端 CL=ONE 或 LOCAL_ONE 并且它应该可以工作。Cassandra 专为冗余/高可用性而设计,因此您甚至无法关闭单个节点这一事实并不是 Cassandra 的理想设置。如果是我,我会添加另一个节点。


推荐阅读