Cassandra YAML 中的令牌属性数量
Number of tokens attribute in Cassandra YAML
如果所有节点在各自的 YAML 文件中都具有相同的值,那么 Cassandra 的 YAML 文件中 'number of tokens' 属性中使用的值是否有意义?是相对价值造成了差异吗?例如在以下两种情况下有什么区别吗(假设有一个节点的集群):
- 情况一:n个节点的token个数分别设置为256
- 情况 2:令牌数设置为 x,其中 x 在 n 个节点中的每个节点中都不同于 256。
这个值会影响数据在节点之间的分布情况——值越大,数据分布就越均匀。但这是以额外开销为代价的,因为 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
如果所有节点在各自的 YAML 文件中都具有相同的值,那么 Cassandra 的 YAML 文件中 'number of tokens' 属性中使用的值是否有意义?是相对价值造成了差异吗?例如在以下两种情况下有什么区别吗(假设有一个节点的集群):
- 情况一:n个节点的token个数分别设置为256
- 情况 2:令牌数设置为 x,其中 x 在 n 个节点中的每个节点中都不同于 256。
这个值会影响数据在节点之间的分布情况——值越大,数据分布就越均匀。但这是以额外开销为代价的,因为 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