如何加载平衡Cassandra集群节点?

时间:2011-09-06 13:33:53

标签: cassandra

我在4台机器的集群上使用Cassandra-0.7.8。我使用Map / Reduce上传了一些文件。 它看起来文件只在2个节点之间分配。当我使用RF = 3时,它已在下面的配置中分配给相同的4个节点。

以下是一些配置信息:

  1. ByteOrderedPartitioner
  2. 复制因子= 1(因为,我有存储问题。稍后会增加)
  3. 初始令牌 - 尚未设置值。
  4. 使用replication_factor = 1创建密钥空间ipinfo,并使用placement_strategy ='org.apache.cassandra.locator.SimpleStrategy';
  5.   

    [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

2 个答案:

答案 0 :(得分:2)

您加载的数据中的密钥不足以达到环中较高的2个节点。您可以根据frail的建议更改为RandomPartitioner。另一种选择是按照Cassandra wiki中的描述重新平衡你的戒指。如果您想继续订购钥匙,这是您想要的路线。当然,随着更多数据的加载,您需要再次重新平衡以保持数据分布相对均匀。如果您打算只做随机读取而没有范围切片,那么切换到RandomPartitioner并完成它。

答案 1 :(得分:1)

如果您想要更好的负载均衡,则需要将分区程序更改为RandomPartitioner。但是如果在应用程序中使用范围查询,则会导致问题。你最好查看这篇文章:

Cassandra: RandomPartitioner vs OrderPreservingPartitioner

相关问题