我已经搜索了此问题的以前版本,但没有一个适合我的情况。我有一个运行2.0.x的现有Cassandra集群。我已经分配了新的虚拟机,所以我不想升级现有的Cassandra节点 - 而是希望迁移到a)新的虚拟机和b)更新版本的Cassandra。Cassandra从2.0.x升级到2.1.x或3.0.x
我知道就地升级,我会升级到最新的2.0.x,然后升级到最新的2.1.x. AFAIK,这里没有SSTable不一致。如果我通过添加新节点进入该路线,我假设我会遵循datastax指令来添加新节点/退役旧节点?
鉴于上述情况,是否可以从2.0.x移动到3.0.x?我知道SSTable格式是不同的;但是,如果我添加新节点(而不是在磁盘上重新使用SSTables),这是否重要?
这在我看来,#2的工作 - 否则,就意味着任何需要的SSTable升级升级将需要脱机同时采取所有节点;否则,在某个时刻,将在同一集群中运行混合的2.x.x和3.0.x版本。
我完全错了吗?有没有人有这样的经验?
另外,你应该在升级之前运行'nodetool drain'。它将刷新memtables。 – questionare