2017-04-02 71 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