Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nosql 对于Cassandra群集,我绝对需要至少3个节点/服务器,还是2个就足够了?_Nosql_Cassandra_Fault Tolerance - Fatal编程技术网

Nosql 对于Cassandra群集,我绝对需要至少3个节点/服务器,还是2个就足够了?

Nosql 对于Cassandra群集,我绝对需要至少3个节点/服务器,还是2个就足够了?,nosql,cassandra,fault-tolerance,Nosql,Cassandra,Fault Tolerance,当然可以运行单节点集群,但我希望有一定程度的容错能力 目前我能租得起两台服务器(8GB RAM,专用VLAN@1GigE),但不能租3台 我的理解是,Cassandra集群至少需要3个节点,因为2个节点之间没有可能的多数,解决版本控制冲突需要多数节点。哦,等等,我在想“矢量时钟”和Riak吗?啊!Cassandra使用时间戳解决冲突 对于2个节点,建议的读/写策略是什么?我通常应该写入所有(两个)节点并从其中一个节点读取(N=2;W=N/2+1;W=2/2+1=2)?Cassandra将像往常一

当然可以运行单节点集群,但我希望有一定程度的容错能力

目前我能租得起两台服务器(8GB RAM,专用VLAN@1GigE),但不能租3台

我的理解是,Cassandra集群至少需要3个节点,因为2个节点之间没有可能的多数,解决版本控制冲突需要多数节点。哦,等等,我在想“矢量时钟”和Riak吗?啊!Cassandra使用时间戳解决冲突

对于2个节点,建议的读/写策略是什么?我通常应该写入所有(两个)节点并从其中一个节点读取(N=2;W=N/2+1;W=2/2+1=2)?Cassandra将像往常一样使用暗示切换,即使对于2个节点,是吗

这两台服务器位于同一数据中心FWIW


谢谢

如果您需要RF=2、clustersize=2系统上的可用性,则不能全部使用,否则当节点停机时将无法写入

这就是为什么人们推荐3个节点而不是2个节点,因为这样您就可以进行仲裁读写,并且在单个节点出现故障时仍然具有很强的一致性和可用性


仅使用2个节点,您就可以选择在单节点故障(使用一个节点写入)时是需要强一致性(使用所有节点写入)还是需要可用性,但不能同时选择两者。当然,如果你只写了一篇文章,卡桑德拉会根据需要进行暗示交接等,以使其最终保持一致。

这仍然正确吗?您的答案中“一致性级别1”的含义似乎更像是当前版本的cassandra的一致性级别。我假设在某个点上有一个节点从一个节点分叉?当您的节点数等于您拥有的副本数时,一个和任何一个都是等效的。