10. Cassandra 的版本升级¶
在此,对 Cassandra 的版本升级方法进行介绍。注解
在Cassandra1.1.12 中修改了若干错误(有可能在运行中发生数据损坏且重新启动失败的错误等),因此若已使用了Cassandra1.1.4 建议进行版本升级。2013 Winter(Felicia)以前发行的 intra-mart Accel Platform 也在Cassandra1.1.12 上进行了动作确认。
10.1. 版本升级步骤¶
从Cassandra1.1.4 升级到Cassandra1.1.12 时,需要以下步骤。建议在版本升级前,事先取得 快照 。
启动Cassandra1.1.4 。
使用nodetool命令的drain来使Cassandra1.1.4 不再接受写入操作。
OS是Windows时,启动命令提示,并执行下述命令。
%CASSANDRA_HOME%/bin/nodetool drainOS是Linux时,使用下述命令启动。
# /usr/local/cassandra/bin/nodetool drain启动中的Cassandra中会显示“DRAINED”,Cassandra停止。
将位于Cassandra1.1.12 的<%CASSANDRA_HOME%/conf/cassandra.yaml>文件中的“data_file_directories”属性设定成与Cassandra1.1.4 相同的目录。
data_file_directories 设定例子(Windows)
data_file_directories: - C:/cassandra/data警告
若将Cassandra1.1.12 的commitlog_directory、saved_caches_directory设定成与Cassandra1.1.4 相同的目录,则有可能发生数据不一致的情况,因此请将commitlog_directory、saved_caches_directory设定为其他目录。启动Cassandra1.1.12 ,使用nodetool命令的upgradesstables重新构筑数据。
OS是Windows时,启动命令提示,并执行下述命令。
%CASSANDRA_HOME%/bin/nodetool upgradesstablesOS是Linux时,使用下述命令启动。
# /usr/local/cassandra/bin/nodetool upgradesstablesCassandra的重新构筑正常结束后,版本升级操作也会完成。
注解
- 以集群的方式构筑了Cassandra时,请为各个节点重新构筑。
- 在Cassandra1.1.4 中进行了ref:authentication 、Windows服务的登记/删除 时,需要在版本升级后在Cassandra1.1.12 中进行再次设定。