【发布时间】:2019-08-13 17:25:59
【问题描述】:
我正在运行 3 节点 apache cassandra 集群作为 docker 容器,其中包含 45 天 TTL 的时间序列数据。
我计划将当前的 cassandra 版本 2.2.5 升级到 cassandra 3.11.4 版本。确定了以下升级步骤 -
- 备份现有数据
-
刷新 cassandra 节点之一
bin/nodetool -h cassandra1 -u ca_itoa -pw ca_itoa 排水
停止 cassandra1 节点
启动新的 cassandra 3.11.4 容器
-
升级 SSTable
bin/nodetool -u ca_itoa -pw ca_itoa upgradesstables
检查节点状态。对其余节点重复该过程
我有几个关于升级过程的问题 -
- 步骤是否正确?
- 是否必须运行 upgradesstables 命令。这很耗时,我想看看我是否可以避免。数据已设置 TTL。 cassandra 会继续以新的 SSTable 格式写入,而旧的 SSTable 数据在到期时会被清理吗?假设在 45 天后,所有 SSTable 都将采用新的闪亮格式。
【问题讨论】:
标签: cassandra datastax cassandra-2.0 cassandra-3.0