卡桑德拉版本升级前需要维修



我们的DSE生产版本是4.8.4(Cassandra 2.1.12(。我们运行 3 个节点群集,每个节点 256 个虚拟节点,每个节点 ~200GB 数据,RF=3。我们将始终如一地迁移到最新的DSE版本5.1.1(Cassandra 3.10.0(。

根据DataStax升级手册 http://docs.datastax.com/en/upgrade/doc/upgrade/datastax_enterprise/upgdDSE50.html 应在开始升级之前进行修复。我们不使用增量修复,为了修复整个集群,我们在单个节点上运行了完整的顺序修复。运行 12 小时后,修复了 100/768 个令牌范围,但 CPU 使用率相当高,我们其中一个表的 sstable 数量几乎呈线性增长。在正常运行期间,此表也存在一些问题,升级原因之一是将现有 DTCS 替换为新的 TWCS 压缩策略。

我们担心维修时间长,资源利用率提高。 所以我们想知道升级前是否100%需要维修?不做/不做的后果是什么?如果我们要持续升级多个版本,我们应该在每次升级后执行读取修复吗?

所以,你根本不做定期维修?强烈推荐。

关于升级前的修复:据我所知,这只是一种预防措施,因为升级过程本身不会修改您的数据,直到您最终升级 sstables。

如果使用 QUORUM 一致性级别,则节点之间的不一致不会受到太大影响,这些不一致最终将由读取修复修复。

所以我认为这是安全的,但我认为你应该问Datastax以确定。

在需要任何节点维护之前运行读取修复以防止数据丢失。如果维护节点独占部分数据,并且在维护期间完全损坏,则有可能。

最新更新