从Cassandra 3.0.8升级到3.0.14之后,我们是否需要运行nodetool upgradedesstables?
问题描述:
最近我们将2个DC配置中的8个cassandra节点从3.0.8升级到3.0.14。那么,在升级3.0.8到3.0.14时,我是否必须运行nodetool升级稳定版呢?如果我们应该这样做,以最快的方式完成升级稳定的最佳做法是什么? 谢谢。从Cassandra 3.0.8升级到3.0.14之后,我们是否需要运行nodetool upgradedesstables?
答
这是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一些测试,我发现:
- 卡桑德拉3.0.7用来sstables MB版本。
- 卡桑德拉3.0.8用来sstables MB版本(仍然MB!)
- 卡桑德拉3.0.9 - 3.0.14使用MC版本sstables。
一种检查方法是转到您的Cassandra数据文件夹并检查sstable文件以查看它们使用的版本。如果有不同的版本,应该运行nodetool upgradedesstables。我会一次运行一个节点。
https://github.com/apache/cassandra/blob/cassandra-3.0/NEWS.txt –