1

我当前的 cassandra 版本是 1.1.2,它是用单节点集群实现的,我想将它升级到 1.2.6,在环中使用多个节点。将其直接迁移到 1.2.6 是正确的方法,还是我应该逐个版本迁移。

我从这个链接 http://fossies.org/linux/misc/apache-cassandra-1.2.6-bin.tar.gz:a/apache-cassandra-1.2.6/NEWS.txt找到了升级步骤。

这两个版本之间还有 9 个其他版本可用。

4

2 回答 2

2

我将两个集群节点从 1.1.6 迁移到 1.2.6 没有问题,也没有逐个版本进行。无论如何,您应该仔细研究:

http://www.datastax.com/documentation/cassandra/1.2/index.html?pagename=docs&version=1.2&file=index#upgrade/upgradeC_c.html#concept_ds_smb_nyr_ck

因为 1.2 版有很多新功能,比如分区器,所以您可能需要更改集群的一些配置。

于 2013-07-11T07:55:59.830 回答
1

您可以直接跳到 C1.2.6。

我们最近将 4 节点集群从 C1.0.9 迁移到 C1.2.8,没有任何问题。这是一次滚动升级,即一次升级一个节点,每次升级一个节点后,让集群稳定(取决于升级期间的流量)

这些是我们遵循的步骤:

在每个节点上执行以下操作,

  1. 运行 Disablegossip 和 disablethrift,使该节点被其他节点视为 DOWN。
  2. 刷新/排空 memtables,运行压缩以合并 SSTables
  3. 拍摄快照并启用增量备份
  4. 这会阻止所有其他节点/客户端写入该节点,并且由于内存表已刷新到磁盘,因此启动时间很快,因为它不需要遍历提交日志。
  5. 停止 Cassandra(虽然此节点已关闭,但集群可用于写入/读取,因此停机时间为零)
  6. 使用 sstableupgrade 将 sstables 升级到新的存储格式
  7. 在新位置安装/解压 Cassandra 1.2.8
  8. 将升级后的马厩移动到适当的位置
  9. 通过手动 diff 合并以前版本和当前版本的 Cassandra.yaml(需要详细说明差异)
  10. 启动卡桑德拉
  11. 查看启动消息以确保节点顺利启动并显示在混合 1.0.x/1.2.x 的环中
于 2013-08-29T07:52:43.703 回答