Cassandra YAML中的标记属性数

时间:2018-04-03 06:38:37

标签: cassandra cassandra-3.0

“令牌数”中使用的值是否有任何意义?如果所有节点在各自的YAML文件中具有相同的值,那么Cassandra的YAML文件中的属性是什么?它是相对价值的差异吗?对于例如在以下2个场景中是否存在任何差异(假设有n个节点的集群):

  • 案例1:n个节点中每个节点的令牌数设置为256。
  • 案例2:令牌数设置为x,其中n在每个n个节点中x不同于256.

2 个答案:

答案 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