我在4台机器的集群上使用Cassandra-0.7.8。我使用Map / Reduce上传了一些文件。 它看起来文件只在2个节点之间分配。当我使用RF = 3时,它已在下面的配置中分配给相同的4个节点。
以下是一些配置信息:
[cassandra @ cassandra01 apache-cassandra-0.7.8] $ bin / nodetool -h 172.27.10.131 ring地址状态State Load拥有令牌
的令牌(字节[fddfd9bae90f0836cd9bff20b27e3c04]) 172.27.10.132 Up正常11.92 GB 25.00%令牌(字节[3ddfd9bae90f0836cd9bff20b27e3c04]) 172.27.15.80 Up正常10.21 GB 25.00%令牌(字节[7ddfd9bae90f0836cd9bff20b27e3c04]) 172.27.10.131 Up正常54.34 KB 25.00%令牌(字节[bddfd9bae90f0836cd9bff20b27e3c04]) 172.27.15.78 Up Normal 58.79 KB 25.00%Token(bytes [fddfd9bae90f0836cd9bff20b27e3c04])
您能否建议我如何平衡群集上的负载。
此致 Thamizhannal
答案 0 :(得分:2)
您加载的数据中的密钥不足以达到环中较高的2个节点。您可以根据frail的建议更改为RandomPartitioner。另一种选择是按照Cassandra wiki中的描述重新平衡你的戒指。如果您想继续订购钥匙,这是您想要的路线。当然,随着更多数据的加载,您需要再次重新平衡以保持数据分布相对均匀。如果您打算只做随机读取而没有范围切片,那么切换到RandomPartitioner并完成它。
答案 1 :(得分:1)
如果您想要更好的负载均衡,则需要将分区程序更改为RandomPartitioner。但是如果在应用程序中使用范围查询,则会导致问题。你最好查看这篇文章: