让我们想象一下,我有一个带有3个节点的Cassandra集群,每个节点都有100GB的可用硬盘空间。此群集的复制因子设置为3,R / W CL设置为2,这意味着我可以容忍我的一个节点关闭而不会牺牲一致性或可用性。
现在想象我的服务器已经开始填满(80GB作为例子),我想在我的集群中添加另外3台相同规格的服务器,维护相同的CL和RF。
我的问题是:在我将新节点添加到我的群集并运行节点修复工具之后,可以假设我的每个节点应该大致(或多或少几GB)包含40GB的每个数据?
如果没有,我怎样才能添加新节点而不必担心硬盘空间不足?
我提出这个问题的一个小背景:我正在开发一个连接到运行Cassandra进行数据存储的服务器的应用程序。由于这只是由我开发的,而且我在购买服务器的资金方面资源有限,我已经决定购买小型,廉价的服务器"而不是更昂贵的机架选项,但如果磁盘分配不是(至少部分),我真的担心节点空间不足 均匀。
非常感谢你的帮助,
答案 0 :(得分:6)
我的问题是:在我将新节点添加到群集并运行之后 节点修复工具,假设我的每个节点都是公平的 应该大致(或多或少几GB)每个40GB的数据
在运行nodetool cleanup之后,您应该会在每个节点上看到大约40GB的数据。清除将删除节点不再负责的数据。如果不运行此命令,旧数据将保留在计算机上。