在cassandra中owns%的含义是什么?如何改变它?

时间:2012-07-23 11:20:51

标签: cassandra

我已经配置了4个实例的cannsadra集群(cassandra-1.1)。 我有2个电脑,我在每台电脑上运行2个实例。 电脑是相同的,有20G内存。 但是,当我运行nodetool时,它会显示不同的Owns%。问题是为什么?

./bin/nodetool  -p 8001 ring

Note: Ownership information does not include topology, please specify a keyspace. 
Address         DC          Rack        Status State   Load            Owns                     Token                                                                                                                                   51042355038140769519506191114765231718      
172.16.40.32    datacenter1 rack1       Up     Normal  11.12 KB        70.00%              0                                           
127.0.0.2       datacenter1 rack1       Up     Normal  11.31 KB        10.00%              17014118346046923173168730371588410572      
172.16.40.202   datacenter1 rack1       Up     Normal  6.7 KB          10.00%              34028236692093846346337460743176821145      
127.0.0.3       datacenter1 rack1       Up     Normal  11.18 KB        10.00%              51042355038140769519506191114765231718 

我的自由-m看起来在两台机器上:

        total       used       free     shared    buffers     cached
Mem:         20119       9621      10497          0        281       7925
-/+ buffers/cache:       1414      18704
Swap:         2894          2       2892

1 个答案:

答案 0 :(得分:3)

百分比由跨节点的令牌分布确定。 Cassandra的令牌范围从0到2 ^ 127(170141183460469231731687303715884105728)。你的戒指的代币在0到2 ^ 127之间不均匀分布,这就是为什么你有一个拥有70%所有权的节点。您可以使用nodetool move来平衡您的铃声。

Cassandra wiki上有一个简单的python脚本,可生成均衡的令牌。我还写了一个简单的工具来帮助visualize your ring topology