Cassandra集群可以有偶数个节点吗?

3

目前在键空间上运行一个3节点集群,复制因子为3。由于每个节点的大小接近2TB,需要向集群中添加更多节点。 我能否只添加一个节点到集群中,使其成为4节点集群,还是集群总是需要奇数个节点? 当前读写一致性级别均为ONE。

2个回答

6

如果您在Cassandra中没有使用架构功能(所有节点都在同一个逻辑C*机架中),那么集群中可以有任意多个节点。

如果您使用了C*机架,请确保每个机架中的节点数量相等,以便负载分布在DC中的每个机架上保持平衡。

例如,如果您的应用程序键空间的复制因子为3,并且您有3个机架,则DC中的节点数应该是复制因子的倍数:3、6、9、12等。这将使您能够在每个机架中配置相同数量的节点。

虽然这不是强制要求,但这是最佳做法,以便各节点承载负载和数据的数量相等。谢谢!


1
完全同意。选择与RF的因子相关的节点数量,可以获得最佳的数据分布。 - undefined
谢谢你的回复。 - undefined
如果我在使用一个单独的机架,并且复制因子为3,那么我可以拥有任意数量的Cassandra节点吗? - undefined

3

在Cassandra集群中,节点数量可以是偶数。因此,您可以向集群添加另一个节点。如果您正在使用vnodes,则会更加容易,否则需要进行大量工作来平衡集群。

还有一件事,使用一致性级别ONE进行读写会降低一致性。如果适合您的用例,则可以使用它,但一般建议在生产系统上使用QUORUM


2
这里我要反驳的观点是,Cassandra是一个最终一致性的AP数据库,利用较低的一致性与其预期设计相符。实际上,我建议开发团队从(LOCAL) ONE开始,并且只有在他们注意到一致性问题时才切换到(LOCAL) QUORUM。 - undefined
好的,收到了 Aaron。谢谢你的更新。 - undefined
感谢你们的回复,Manish和Aaron。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接