将cassandra从1.1.2迁移到1.2.6

时间:2013-07-08 09:36:31

标签: cassandra

我目前的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个其他版本。

2 个答案:

答案 0 :(得分: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中有许多新功能,比如分区,可能需要更改群集的某些配置。

答案 1 :(得分:1)

您可以直接跳到C1.2.6。

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

这些是我们遵循的步骤:

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

  1. 运行Disablegossip和disablethrift,以便其他节点将此节点视为DOWN。
  2. 刷新/排空memtables,运行压缩以合并SSTables
  3. 拍摄快照并启用增量备份
  4. 这会阻止所有其他节点/客户端写入此节点,并且由于memtables被刷新到磁盘,启动时间很快,因为它不需要遍历提交日志。
  5. 停止Cassandra(虽然此节点已关闭,群集可用于写入/读取,因此零停机时间)
  6. 使用sstableupgrade将sstables升级到新的存储格式
  7. 在新位置安装/解压Cassandra 1.2.8
  8. 将已升级的sstables移至适当的位置
  9. 通过手动差异合并前一版本和当前版本的Cassandra.yaml(需要详细说明差异)
  10. 启动Cassandra
  11. 观看启动消息以确保节点毫无困难地出现并显示在混合1.0.x / 1.2.x的环中
相关问题