2017-04-02 26 views
1

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

同样在节点加入的情况下,虚拟节点被重新分配。存在更多类似的行为。谁做这些?

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

回答

0

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

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

除了种子节点部分,在这个过程中不需要任何“主”。

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

这里有很好的文章吧:

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