“令牌数”中使用的值是否有任何意义?如果所有节点在各自的YAML文件中具有相同的值,那么Cassandra的YAML文件中的属性是什么?它是相对价值的差异吗?对于例如在以下2个场景中是否存在任何差异(假设有n个节点的集群):
答案 0 :(得分:1)
此值可以影响在节点之间分配良好数据的方式 - 值越大,数据分布越均匀。但这需要额外的开销,因为Cassandra需要维护所有这些虚拟节点。取决于虚拟节点的数量和复制因子,分布可能会有所不同 - 例如,对于RF = 3& vnodes = 8,分布可能变化~10%。对于不同版本的Cassandra,建议也可能有所不同 - 对于3.x,推荐值为8到32.您可以在此document中找到更多信息。
P.S。如果您正在使用DSE,您还可以调整allocate_tokens_for_local_replication_factor
以更好地分配数据。
答案 1 :(得分:0)
allocate_tokens_for_local_replication_factor
特定于DSE
Apache Cassandra具有参数allocate_tokens_for_keyspace