Cassandra版本升级前修复的必要性
Necessity of repair before Cassandra version upgrade
我们的 DSE 生产版本是 4.8.4(Cassandra 2.1.12)。我们 运行 3 个节点集群,每个节点有 256 个 vnode,每个节点约 200GB 数据,RF=3。我们将持续迁移到最新的 DSE 版本 5.1.1(Cassandra 3.10.0)。
根据 DataStax 升级手册http://docs.datastax.com/en/upgrade/doc/upgrade/datastax_enterprise/upgdDSE50.html repair should be done before starting the upgrade. We don't use incremental repairs and to repair the entire cluster we ran full sequential repair on a single node. After 12 hours of running 100/768 token ranges are repaired, but cpu usage pretty high and number of sstables for one of our tables increases almost linearly.我们在正常操作期间也遇到了几个问题 table,升级原因之一是用新的 TWCS 压缩策略替换现有的 DTCS。
我们担心修复时间长和资源利用率增加。
那么我们想知道升级前是否需要100%修复?不doing/doing会有什么后果呢?如果我们要一致地升级多个版本,我们是否应该在每次升级后执行读取修复?
所以,你根本不做定期维修?强烈推荐。
关于升级前的修复:据我所知这只是一个预防措施,因为升级过程本身不会修改你的数据,直到你最后升级sstables。
如果您使用 QUORUM 一致性级别,您应该不会受到节点之间不一致的影响,最终将由读取修复修复。
所以我认为它是安全的,但我认为您应该询问 Datastax 以确保安全。
运行 在任何节点维护之前需要进行读取修复,以防止数据丢失。如果维护节点独占部分数据并且在维护期间完全损坏,则有可能。
我们的 DSE 生产版本是 4.8.4(Cassandra 2.1.12)。我们 运行 3 个节点集群,每个节点有 256 个 vnode,每个节点约 200GB 数据,RF=3。我们将持续迁移到最新的 DSE 版本 5.1.1(Cassandra 3.10.0)。
根据 DataStax 升级手册http://docs.datastax.com/en/upgrade/doc/upgrade/datastax_enterprise/upgdDSE50.html repair should be done before starting the upgrade. We don't use incremental repairs and to repair the entire cluster we ran full sequential repair on a single node. After 12 hours of running 100/768 token ranges are repaired, but cpu usage pretty high and number of sstables for one of our tables increases almost linearly.我们在正常操作期间也遇到了几个问题 table,升级原因之一是用新的 TWCS 压缩策略替换现有的 DTCS。
我们担心修复时间长和资源利用率增加。 那么我们想知道升级前是否需要100%修复?不doing/doing会有什么后果呢?如果我们要一致地升级多个版本,我们是否应该在每次升级后执行读取修复?
所以,你根本不做定期维修?强烈推荐。
关于升级前的修复:据我所知这只是一个预防措施,因为升级过程本身不会修改你的数据,直到你最后升级sstables。
如果您使用 QUORUM 一致性级别,您应该不会受到节点之间不一致的影响,最终将由读取修复修复。
所以我认为它是安全的,但我认为您应该询问 Datastax 以确保安全。
运行 在任何节点维护之前需要进行读取修复,以防止数据丢失。如果维护节点独占部分数据并且在维护期间完全损坏,则有可能。