我们计划将当前运行2.0.9版本的集群升级到2.2.6。根据文档和一些博客,人们会在原地升级cassandra,即从环中删除一个节点进行升级,然后再将其添加回来。我们对此方法持怀疑态度,因为事情可能会出错(这是一个高交易数据库,每秒查询次数很多)。
因此,我们计划向集群中添加一个新的数据中心,该数据中心应该具有升级的cassandra版本(2.2)。因此,设置将具有两个数据中心:一个旧的(2.0.9)和另一个新的(2.2.6)。
这个数据中心只是一个备份。当数据中心变得稳定时,我们将把客户端连接更改为这个数据中心,如果它表现良好,那么我们将使用这个数据中心并关闭旧数据中心,否则我们可以返回旧数据中心并调试出了什么问题。
这种过程足够可行吗?还是应该采用原地升级?
两个cassandra版本(2.0和2.2)是否可以存在于一个数据中心中?
这种方法有什么缺点吗?
因此,我们计划向集群中添加一个新的数据中心,该数据中心应该具有升级的cassandra版本(2.2)。因此,设置将具有两个数据中心:一个旧的(2.0.9)和另一个新的(2.2.6)。
这个数据中心只是一个备份。当数据中心变得稳定时,我们将把客户端连接更改为这个数据中心,如果它表现良好,那么我们将使用这个数据中心并关闭旧数据中心,否则我们可以返回旧数据中心并调试出了什么问题。
这种过程足够可行吗?还是应该采用原地升级?
两个cassandra版本(2.0和2.2)是否可以存在于一个数据中心中?
这种方法有什么缺点吗?