我有一个带2个节点的cassandra集群,在这种情况下,如果其中一个节点发生故障,则一旦两个都正常,我将无法在cql中进行更新操作
答案 0 :(得分:0)
对于Cassandra群集,只有2个节点不是一个好选择。但是,正如您所拥有的那样,如果由于节点故障而无法操作数据,则意味着您的客户端一致性级别(CL)高于可用于存储数据的可用节点数(无论如何都将适用)您在cassandra中有多少个节点)。因此,我的猜测是您的客户端CL被设置为某个仲裁级别(LOCAL_QUORUM或QUORUM)或ALL。任何QUORUM都将等于2,在您的情况下,这将由于仅具有单个节点而失败。您可以将客户端设置为CL = ONE或LOCAL_ONE,它应该可以工作。 Cassandra专为冗余/高可用性而设计,因此您甚至无法关闭单个节点的事实对于Cassandra而言并不是理想的设置。如果是我,我将添加另一个节点。然后,您可以进行QUORUM设置,并且仍然有不可用的节点。