添加新服务器时在Cassandra中重新分区数据

kha*_*kha 4 cassandra cassandra-2.0

让我们假设我有一个带有3个节点的Cassandra集群,每个节点都有100GB的可用硬盘空间.此群集的复制因子设置为3,R/W CL设置为2,这意味着我可以容忍我的一个节点关闭而不会牺牲一致性或可用性.

现在想象我的服务器已经开始填满(例如80GB),我想在我的集群中添加另外3台相同规格的服务器,维护相同的CL和RF.

我的问题是:在我将新节点添加到我的集群并运行节点修复工具之后,假设我的每个节点应该大致(或多或少几GB)每个包含40GB数据是否公平?

如果没有,我如何添加新节点而不必担心硬盘空间不足?

我要问这个问题的一个小背景:我正在开发一个连接到运行Cassandra以进行数据存储的服务器的应用程序.由于这只是由我开发的,而且我在购买服务器的资金方面资源有限,我决定购买小而便宜的"服务器"而不是更昂贵的机架选项,但我真的很担心关于如果磁盘分配不是(至少部分地)同质的节点空间不足的话.

非常感谢你的帮助,

Rus*_*ssS 6

我的问题是:在我将新节点添加到我的集群并运行节点修复工具之后,假设我的每个节点应该大致(或多或少几GB)每个40GB的数据是公平的

在运行nodetool清理之后,您应该在每个节点上看到大约40GB的数据.清除将删除节点不再负责的数据.如果不运行此命令,旧数据将保留在计算机上.