intra-mart Accel Platform / Cassandra管理员指南

第8版 2014-04-01

«  9. Cassandra 的运行   ::   Contents   ::   11. Cassandra 参考信息  »

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 时,需要以下步骤。
建议在版本升级前,事先取得 快照
  1. 启动Cassandra1.1.4 。

  2. 使用nodetool命令的drain来使Cassandra1.1.4 不再接受写入操作。

    • OS是Windows时,启动命令提示,并执行下述命令。

      %CASSANDRA_HOME%/bin/nodetool drain
      
    • OS是Linux时,使用下述命令启动。

      # /usr/local/cassandra/bin/nodetool drain
      
  3. 启动中的Cassandra中会显示“DRAINED”,Cassandra停止。

  4. 将位于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设定为其他目录。
  5. 启动Cassandra1.1.12 ,使用nodetool命令的upgradesstables重新构筑数据。

    • OS是Windows时,启动命令提示,并执行下述命令。

      %CASSANDRA_HOME%/bin/nodetool upgradesstables
      
    • OS是Linux时,使用下述命令启动。

      # /usr/local/cassandra/bin/nodetool upgradesstables
      
  6. Cassandra的重新构筑正常结束后,版本升级操作也会完成。

注解

  • 以集群的方式构筑了Cassandra时,请为各个节点重新构筑。
  • 在Cassandra1.1.4 中进行了ref:authenticationWindows服务的登记/删除 时,需要在版本升级后在Cassandra1.1.12 中进行再次设定。

«  9. Cassandra 的运行   ::   Contents   ::   11. Cassandra 参考信息  »