Cassandra YAML 中的令牌属性数量

Number of tokens attribute in Cassandra YAML

如果所有节点在各自的 YAML 文件中都具有相同的值,那么 Cassandra 的 YAML 文件中 'number of tokens' 属性中使用的值是否有意义?是相对价值造成了差异吗?例如在以下两种情况下有什么区别吗(假设有一个节点的集群):

这个值会影响数据在节点之间的分布情况——值越大,数据分布就越均匀。但这是以额外开销为代价的,因为 Cassandra 需要维护所有这些虚拟节点。根据虚拟节点的数量和复制因子,分布可能会有所不同——例如,对于 RF=3 & vnodes=8,分布可能会变化约 10%。对于不同版本的 Cassandra,推荐值也可能不同 - 对于 3.x,推荐值从 8 到 32。您可以在 document.

中找到更多信息

P.S。如果您使用 DSE,您还可以调整 allocate_tokens_for_local_replication_factor 以更好地分配数据。

allocate_tokens_for_local_replication_factor 特定于 DSE

Apache Cassandra 有参数 allocate_tokens_for_keyspace