【发布时间】:2013-11-28 12:10:52
【问题描述】:
我是 Cassandra 的新手。我正在阅读 cassandra.yml 文件中虚拟节点的 num_tokens 参数。我认为我不太了解这是在做什么或如何分配令牌/分区。这里到底发生了什么?
如果我们真的在谈论令牌/节点的数量,那么默认值 256 没有任何意义。 num_tokens 真的是 num_token_partitions/node 吗?
让我们首先选择 2 个节点 A 和 B,添加第 3 个节点 C,然后尝试解释事情是如何工作的。首先,每个节点都配置了 256 个 num_tokens。现在,当 A 和 B 出现时
- A 和 B 加入集群时获得了多少令牌? A 和 B 得到什么分区范围,这是如何决定的?
- Cassandra 中存储了什么样的元数据,以了解 A 和 B 承载的分区范围。
- 当 C 现在加入时会发生什么? Cassandra 如何决定 C 获得哪些分区范围?应该在 C 上放置多少个分区?
- C 加入时,A 和 B 的分区范围如何确定?
为了大家的利益,有没有好心人详细说明一下?
【问题讨论】: