【发布时间】:2016-06-15 07:10:54
【问题描述】:
我们有一个运行 2.0.17 的 18 节点 C* 集群(每个节点大约 600 GB 数据)。我们通过增加 18 个节点来扩展它,因此我们需要进行 nodetool 清理以清除不再由旧节点拥有的任何冗余数据(即,数据已从旧节点移动到集群中的新节点) .但是,稍后我们还需要将 C* 版本升级到 2.1.13,由于这是主要的点发布升级,我们需要在表上运行 upgradesstables 以使其与 2.1 格式兼容。 所以我想知道 upgradesstables 是如何工作的。它是要读取整个数据,然后以新格式重新编写它,还是它的扩展性较小。如果它要重写整个事情,那么它是否有可能也会摆脱该节点不再拥有的任何外部数据?如果是这种情况,那么我们不必先运行 nodetool cleanup 并且可以升级到 2.1.13 并运行 upgradesstables 来为我们做所有事情。否则我们必须在升级到 2.1.13 之前运行 nodetool cleanup。由于每个节点上有大量数据,如果可能的话,我不想遍历整个数据集两次。
【问题讨论】: