【问题标题】:Necessity of repair before Cassandra version upgradeCassandra版本升级前修复的必要性
【发布时间】:2023-03-27 15:00:03
【问题描述】:

我们的 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 修复应该在开始升级之前完成。我们不使用增量修复,为了修复整个集群,我们在单个节点上运行完整的顺序修复。运行 12 小时后,修复了 100/768 令牌范围,但 cpu 使用率非常高,并且我们其中一张表的 sstable 数量增加了almost linearly. 在正常操作期间我们也遇到了这个表的几个问题,升级原因之一是用新的 TWCS 压缩策略替换现有的 DTCS。

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

【问题讨论】:

    标签: cassandra datastax datastax-enterprise cassandra-2.1 repair


    【解决方案1】:

    那么,您根本不进行定期维修吗?强烈推荐。

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

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

    所以我认为它是安全的,但我认为您应该询问 Datastax 以确保确定。

    【讨论】:

      【解决方案2】:

      需要在任何节点维护之前运行读取修复以防止数据丢失。有可能是维护节点独占了部分数据,在维护过程中彻底坏掉了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-02-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-06
        • 1970-01-01
        • 2019-11-25
        • 1970-01-01
        相关资源
        最近更新 更多