【问题标题】:Does cassandra upgrade require to run nodetool upgradesstables for cluster holding TTLed datacassandra 升级是否需要为保存 TTL 数据的集群运行 nodetool upgradesstables
【发布时间】:2019-08-13 17:25:59
【问题描述】:

我正在运行 3 节点 apache cassandra 集群作为 docker 容器,其中包含 45 天 TTL 的时间序列数据。

我计划将当前的 cassandra 版本 2.2.5 升级到 cassandra 3.11.4 版本。确定了以下升级步骤 -

  1. 备份现有数据
  2. 刷新 cassandra 节点之一

    bin/nodetool -h cassandra1 -u ca_itoa -pw ca_itoa 排水

  3. 停止 cassandra1 节点

  4. 启动新的 cassandra 3.11.4 容器

  5. 升级 SSTable

    bin/nodetool -u ca_itoa -pw ca_itoa upgradesstables

  6. 检查节点状态。对其余节点重复该过程

我有几个关于升级过程的问题 -

  1. 步骤是否正确?
  2. 是否必须运行 upgradesstables 命令。这很耗时,我想看看我是否可以避免。数据已设置 TTL。 cassandra 会继续以新的 SSTable 格式写入,而旧的 SSTable 数据在到期时会被清理吗?假设在 45 天后,所有 SSTable 都将采用新的闪亮格式。

【问题讨论】:

    标签: cassandra datastax cassandra-2.0 cassandra-3.0


    【解决方案1】:

    是的,当您从 2.2.x 升级到 3.11.4 时,您需要在 cassandra 升级后在每个节点上运行 nodetool sstableupgrade。 sstable 文件格式和 ext 也会改变。您可以在后台运行此过程,它不会产生任何问题。更多详情请参考以下链接https://blog.thethings.io/upgrading-apache-cassandra-cluster/

    【讨论】:

    • 谢谢。你能帮我理解一下我在查询号 2 中所做的 TTL 假设吗
    • 新数据将采用新格式。正如你提到的 45 天不少,所以你应该升级你的 sstables。
    • 我查看了 DataStax 文档中提到的升级过程 - [docs.datastax.com/en/upgrade/doc/upgrade/datastax_enterprise/…。第 11 步标记为可选。这让我很困惑。 ` 可选:为确保最佳性能,在升级完成后升级每个节点上的 SSTables。'
    • @Mac,上述过程适用于您提到的“从 Apache Cassandra 升级到 DataStax Enterprise”。docs.datastax.com/en/upgrade/doc/upgrade/datastax_enterprise/… 并且您正在执行 Apache cassandra 2.2.5 到 cassandra 升级 3.11.4。
    【解决方案2】:

    只是一些额外的想法:

    对于步骤#6,您实际上不必立即运行upgradesstables。实际上,如果您要升级生产系统,最好在应用程序团队验证他们可以正常连接之前不要这样做。请记住,适用于 2.2 的旧版本驱动程序可能不适用于 3.11.4。

    为此,我会等到整个集群都运行在新版本上之前在每个节点上运行upgradesstables

    是否必须运行 upgradesstables 命令?

    由于每个 Cassandra 版本都能够读取自己的 SSTable 格式以及之前的主要版本,我想这不是强制。但这绝对是您应该想要做的事情。尤其是升级到 3.x 时。

    Cassandra 3 包含对存储引擎的重大升级,从而减少了磁盘占用空间。我升级的一个集群发现磁盘需求减少了 90%

    另外,在读取可能分布在旧 SSTable 文件和新文件中的记录时,您会产生额外的延迟。跨多个文件读取记录已经够糟糕的了。但现在您将强制 Cassandra 读取和整理两种格式的结果。

    所以虽然我不会说这是“强制性的”,但我肯定会说这是一个“好主意”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-03-22
      • 1970-01-01
      • 2015-10-29
      • 2016-02-02
      • 2018-07-16
      • 2017-04-21
      • 2019-04-22
      相关资源
      最近更新 更多