【发布时间】:2017-10-02 18:20:12
【问题描述】:
最近我们将 2 DC 配置中的 8 个 cassandra 节点从 3.0.8 升级到 3.0.14。那么,将 3.0.8 升级到 3.0.14 时是否必须运行 nodetool upgradesstables?如果我们应该这样做,以最快的方式完成升级稳定的最佳实践是什么。 谢谢。
【问题讨论】:
最近我们将 2 DC 配置中的 8 个 cassandra 节点从 3.0.8 升级到 3.0.14。那么,将 3.0.8 升级到 3.0.14 时是否必须运行 nodetool upgradesstables?如果我们应该这样做,以最快的方式完成升级稳定的最佳实践是什么。 谢谢。
【问题讨论】:
这是来自 org.apache.cassandra.io.sstable.format.big.BigFormat 的评论
// ma (3.0.0): swap bf hash order
// store rows natively
// mb (3.0.7, 3.7): commit log lower bound included
// mc (3.0.8, 3.9): commit log intervals included
// na (4.0.0): uncompressed chunks, pending repair session
//
// NOTE: when adding a new version, please add that to LegacySSTableTest, too.
因此,显然,在 3.0.8 和 3.0.14 之间,没有出现任何关于 sstable 版本的新内容。
但我使用 ccm 做了一些测试,我发现:
一种检查方法是转到您的 Cassandra 数据文件夹并检查 sstable 文件以查看它们使用的版本。如果有不同的版本,应该运行 nodetool upgradesstables。我会一次运行一个节点。
【讨论】: