升级 cassandra 的最佳实践

Best practices on upgrading cassandra

我在连接到 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的正确方法是什么?是吗

执行此操作的最佳做​​法是什么?

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

  1. 运行 nodetool drain
  2. 停止卡桑德拉
  3. 保存你的cassandra.yaml
  4. 删除旧版本并安装新版本
  5. 使用您的设置更新新 cassandra.yaml
  6. 启动卡桑德拉
  7. 运行 nodetool ugradesstables

这应该让您的节点 运行使用新版本的 cassandra 以及其中的所有架构和数据。 如果您要升级到 2.1 以上版本,请小心,因为 2.2 及更高版本需要 java8。其他都一样。