0

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

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

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

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

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


操作系统:Ubuntu 12.04 lts

4

1 回答 1

2

更新

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

要点

  1. 在 2.0.5 中默认包含虚拟主机 - vnodes(在 cassandra.yaml 中记录“num_tokens: 256”)。
  2. 在 2.0.5 中,将文件 cassandra.yaml 中的“index_interval: 128”记录分解到表的级别属性中。
  3. 在 2.0.5 中,缺少以前版本的 cassandra.yaml 的一些设置。
于 2014-04-23T08:35:04.767 回答