升级卡桑德拉

时间:2014-04-22 09:57:36

标签: cassandra upgrade nodetool

我的Cassandra版本是1.2.4,我正在尝试将其升级到2.0.5,我知道在第一部分我必须将其升级到1.0.14然后尝试将其升级为2.0.5

当我尝试运行nodetool -h localhost removenode Host ID时,它会给我:

  

线程“main”中的异常java.lang.UnsupportedOperationException:无法删除self       在org.apache.cassandra.service.StorageService.removeNode(StorageService.java:3199)   .....

在运行该命令之前我尝试了nodetool upgradesstables

有什么问题?我该如何解决?


OS:Ubuntu 12.04 lts

1 个答案:

答案 0 :(得分:2)

<强>更新

  1. 从官方网站下载Cassandra版本1.2.13和2.0.5。打开包装。在下载Cassandra的两个版本中配置cassandra.yaml。以现有(旧)版本cassandra.yaml。
  2. 为基础
  3. 为旧的Cassandra制作快照:nodetool snapshot。
  4. 停止录制单元(读取将继续工作):nodetool drain。
  5. 停止老卡桑德拉。
  6. 在新版本1.2.13中复制当前(旧)Cassandra的数据。运行它(1.2.13)。
  7. 执行Cassandra 1.2.13更新命令表格式:nodetool upgradesstables -a。
  8. 将数据从Cassandra 1.2.13复制到Cassandra 2.0.5。
  9. 精细点

    1. 在2.0.5中默认包含虚拟主机 - vnodes(在cassandra.yaml中记录“num_tokens:256”)。
    2. 在2.0.5记录中,“index_interval:128”从文件cassandra.yaml中分解为表的级别属性。
    3. 在2.0.5中,以前版本的cassandra.yaml中的某些设置不存在。