我有一个包含9 TB数据的5节点cassandra集群,并计划在集群中再添加5个节点。添加新节点后,将启动负载平衡,并将分区键的子范围映射到新节点。什么时候我应该给nodetool清理。是否在启动新节点后立即进行nodetool清理将从群集中的旧节点中删除属于该子范围的旧数据。
答案 0 :(得分:2)
DataStax doc Adding nodes to an existing cluster提到了这一点:
在每个新节点上启动Cassandra。在节点之间允许两分钟 初始化。您可以监视启动和数据流 使用nodetool netstats的进程。
- 醇>
运行所有新节点后,运行 nodetool清理每个先前存在的要删除的节点 密钥不再属于那些节点。等待清理 在完成下一个节点之前完成一个节点。清理可能是安全的 推迟了低使用时间。
这似乎表明,一旦所有新节点启动,运行和完全自举,您应该运行nodetool cleanup
。此过程将从旧节点上的子范围中删除旧数据。如上所述,请确保在每个旧节点上运行nodetool cleanup
,一次一个节点。