2017-06-17 34 views
1

我需要更多的節點添加到我們的卡桑德拉集羣,但我不清楚如何做到這一點正確地根據商務部:如何在Cassandra中添加新節點時重新洗牌數據?

http://docs.datastax.com/en/cassandra/2.1/cassandra/operations/ops_add_node_to_cluster_t.html

我怎麼知道,如果羣集正在使用虛擬節點?我們使用它與num_tokens 256,我們只有3個節點。我想如果你有這意味着我們有vnodes。

有沒有簡單的方法來重新洗牌數據?

回答

2

Cassandra版本1.2及更高版本默認使用vnodes(256 vnodes),它將節點令牌拆分爲多個子令牌,以平衡方式均勻地向所有節點分配數據。

每個vnode將被分配一個令牌。所以你可以找到在配置文件或使用nodetool中分配了多少個vnode。

正如你所說的「num_tokens」指出了該Cassandra節點中的vnodes數量。

(或)

執行nodetool環命令,這將在集羣中的每個節點列表中的令牌。

nodetool ring 

建議使用可以平衡羣集的vnodes。較早的Cassandra版本小於1.1沒有vnode,因此我們用於生成令牌並在cassandra.yaml文件中提供的initial_token參數中進行配置。

因此,在Cassandra版本1.2或更高版本中,使用vnodes足以平衡羣集,不需要重新洗牌數據。

相關問題