Cassandra 如果复制系数为3,是否意味着数据中心需要4个节点?
我设置键空间如下所示Cassandra 如果复制系数为3,是否意味着数据中心需要4个节点?,cassandra,Cassandra,我设置键空间如下所示 CREATE KEYSPACE name_of_keyspace WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'dc1' : 3, 'dc2' : 3}; 如果我想遵循此键空间的规则,我是否需要在dc1中有3个或4个节点 我感到困惑的原因是有两种不同类型的节点,一种是协调节点,另一种是一般节点,当节点发生故障时可以选择。 我是否应该将此协调器节点作为常规节点的一部分包括在内,并在dc1中仅创建3个节点
CREATE KEYSPACE name_of_keyspace WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'dc1' : 3, 'dc2' : 3};
如果我想遵循此键空间的规则,我是否需要在dc1
中有3个或4个节点
我感到困惑的原因是有两种不同类型的节点,一种是协调节点,另一种是一般节点,当节点发生故障时可以选择。
我是否应该将此协调器节点作为常规节点的一部分包括在内,并在
dc1
中仅创建3个节点,还是创建4个节点来实现此功能?在Cassandra中,所有节点都可以充当协调器。因此,对于需要协调器的请求,客户端连接到的节点将充当协调器
对于DC来说,3节点和4节点的RF是可以的,但除非您有一个额外节点想要达到的容量,否则它是不需要的。在我的一个集群中,我们有18个节点的容量,RF为3。这通常是缩放Cassandra的方式。在查询时选择协调器节点。所有节点都具有相同的功能 使用rf 3运行群集并运行查询时,对于分区:
- 如果使用一致性级别1进行读/写,则只需要向上一个节点
- 如果使用仲裁或两个CL进行读/写,则需要两个节点
- 如果使用全部或三个CL进行读/写,则为三个节点
因此,您可以使用rf 3运行一个3节点群集,并且根据您读取/写入的CL,您可以在0、1或2节点停机时生存。谢谢@muru,这样更好吗?