Cassandra:谁在节点之间创建/分发虚拟节点 - Leader?

时间:2017-04-02 02:39:17

标签: cassandra distributed-system

在Cassandra中,虚拟节点在http://www.datastax.com/dev/blog/virtual-nodes-in-cassandra-1-2中给出的节点之间创建和分布。但谁来做这个过程?创建虚拟节点,在对等体之间分配。它是某种领导者吗?它是如何工作的?

如果节点加入,则重新分配虚拟节点。存在更多类似的行为。谁做了所有这些?

编辑:就像节点加入时一样,它占用了现有集群中虚拟节点的一部分,从而消除了领导者的需求?

1 个答案:

答案 0 :(得分:0)

新节点使用种子节点检索有关群集的数据。

新节点将根据num_tokens参数(默认情况下,它将在所有节点的现有节点之间均匀分布)占用集群的一部分,并将引导它的部分数据。 群集的其余部分将通过"闲聊"来了解更改。 - 使用八卦协议。

除种子节点部分外,不需要任何" master"在这个过程中。

旧节点不会自动删除分区,您需要在添加新节点后在旧节点上运行nodetool cleanup。

这是关于它的好文章:

http://cassandra.apache.org/doc/latest/operating/topo_changes.html