目前在键空间上运行一个3节点集群,复制因子为3。由于每个节点的大小接近2TB,需要向集群中添加更多节点。 我能否只添加一个节点到集群中,使其成为4节点集群,还是集群总是需要奇数个节点? 当前读写一致性级别均为ONE。
目前在键空间上运行一个3节点集群,复制因子为3。由于每个节点的大小接近2TB,需要向集群中添加更多节点。 我能否只添加一个节点到集群中,使其成为4节点集群,还是集群总是需要奇数个节点? 当前读写一致性级别均为ONE。
如果您在Cassandra中没有使用架构功能(所有节点都在同一个逻辑C*机架中),那么集群中可以有任意多个节点。
如果您使用了C*机架,请确保每个机架中的节点数量相等,以便负载分布在DC中的每个机架上保持平衡。
例如,如果您的应用程序键空间的复制因子为3,并且您有3个机架,则DC中的节点数应该是复制因子的倍数:3、6、9、12等。这将使您能够在每个机架中配置相同数量的节点。
虽然这不是强制要求,但这是最佳做法,以便各节点承载负载和数据的数量相等。谢谢!
在Cassandra集群中,节点数量可以是偶数。因此,您可以向集群添加另一个节点。如果您正在使用vnodes,则会更加容易,否则需要进行大量工作来平衡集群。
还有一件事,使用一致性级别ONE
进行读写会降低一致性。如果适合您的用例,则可以使用它,但一般建议在生产系统上使用QUORUM
。