我有一个包含 9 TB 数据的 5 节点 cassandra 集群,并计划在集群中再添加 5 个节点。添加新节点后,负载平衡将开始,分区键的子范围将映射到新节点。我应该在什么时候进行 nodetool 清理。在启动新节点后立即进行 nodetool 清理是否会从集群中的旧节点中删除属于该子范围的旧数据。
1322 次
1 回答
2
DataStax 文档将节点添加到现有集群中提到了这一点:
在每个新节点上启动 Cassandra。在节点初始化之间留出两分钟。您可以使用 nodetool netstats 监控启动和数据流过程。
在所有新节点都运行后,在每个先前存在的节点上运行 nodetool cleanup 以删除不再属于这些节点的密钥。等待清理在一个节点上完成,然后再执行下一个节点。清理可以安全地推迟到低使用时间。
这似乎表明您应该在nodetool cleanup
所有新节点都启动、运行和完全引导后运行。此过程将从旧节点上的子范围中删除旧数据。如前所述,确保nodetool cleanup
在每个旧节点上运行,一次一个节点。
于 2014-10-01T14:57:39.043 回答