升级cassandra的最佳实践

时间:2016-05-18 16:22:25

标签: cassandra-2.0 cassandra-2.1

我从连接到cassandra的pyspark收到错误,因为看起来我使用的是一个太旧的cassandra:

[idf@node1 python]$ nodetool -h localhost version
ReleaseVersion: 2.0.17
[idf@node1 python]$ 

[idf @ node1 cassandra] $ java --version 无法识别的选项: - version 错误:无法创建Java虚拟机。 错误:发生了致命异常。程序将退出。

[idf@node1 cassandra]$ java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
[idf@node1 cassandra]$ 

我想升级到最新版本。但是,我已经收集了相当多的数据,我不想失去它。我正在使用带有单个cassandra节点的CentOS 7.2。我的问题是,

  • 其中是存储在本地文件系统上的cassandra数据
  • 假设我可以压缩这个目录并移动它是否正确?

然后,一旦我备份了数据,升级cassandra的正确方法是什么?是吗

  • 完全删除旧版本
  • 安装新版本
  • 复制数据

这样做的最佳做法是什么?

1 个答案:

答案 0 :(得分:2)

我猜你正在使用OSS版本。数据的默认位置是/ var / lib / cassandra,如果你不想,可以备份它。 升级程序很简单:

  1. 运行nodetool drain
  2. 停止cassandra
  3. 保存你的cassandra.yaml
  4. 删除旧版并安装新版本
  5. 使用您的设置更新新的cassandra.yaml
  6. 启动cassandra
  7. run nodetool ugradesstables
  8. 这应该让您的节点运行新版本的cassandra,其中包含所有架构和数据。 如果要升级到2.1,请小心,因为2.2及以上需要java8。其他一切都是一样的。