我们计划将目前在 2.0.9 上运行的集群升级到 2.2.6。根据文档和一些博客,人们就地升级 cassandra,即从环中删除一个节点,升级它并再次添加它。我们对遵循这种方法持怀疑态度,因为事情可能会出错(这是一个具有大量 QPS 的高事务数据库)。
因此,我们计划在集群中添加一个新的数据中心,该数据中心将升级 cassandra 版本(2.2)。所以设置应该有两个数据中心,一个是旧的(2.0.9),另一个是新的(2.2.6)
这个数据中心只是一个备份。当数据中心变得稳定时,我们将更改与该数据中心的客户端连接,如果它运行良好,那么我们将使用该数据中心并关闭旧数据中心,否则我们可以回退到旧数据中心并调试出了什么问题。
这个过程是否足够可行,还是我们应该进行就地升级?
数据中心是否可以存在两个 cassandra 版本(2.0 和 2.2)。
这种方法有没有失败?