oranie's blog

旧:iをgに変えると・・・なんだっけ・・・

CassandraのVer upを検討する際に手順確認で見るもの

今1.2.13を検証していたが、このタイミングでDataStax Enterprise 4.0がリリースされました。
http://www.datastax.com/2014/02/welcome-to-datastax-enterprise-4-0-and-opscenter-4-1
で、このVerからCassandraが1.2系から2.0系に変わるという結構ダイナミックな変更が入っていたので、今検証している1.2.13が2.0系へupgradeするのに1.1系から1.2系にupgradeするようにupgradesstable等の手順が必要か確認していた時に、またも@yukimさんに教えて貰いました。本当にいつもありがとうございます・・・。

結論としては通常のローリングアップデートを繰り返せばOK。

今後upgradeする際の手順を確認するのに頂いた内容をそのまま引用させて戴くと
「Upgradeの際は NEWS.txt
https://github.com/apache/cassandra/blob/cassandra-1.2/NEWS.txt
を確認していただくとよいと思います。
Upgradeに必要な特別な手順があれば記載されるようになっています。

SSTableのバージョン毎の違いは、今のところこちらのソースを見ていただくと一覧で載っていたりします。
https://github.com/apache/cassandra/blob/cassandra-1.2/src/java/org/apache/cassandra/io/sstable/Descriptor.java#L69
との事で、確認すると1.2.13 -> 1.2.15はローリングアップデートで問題無しでした。で、1.2系から2.0系に行くには
http://www.datastax.com/documentation/upgrade/doc/upgrade/cassandra/upgradeC_c.html
辺りを見ると記述されている様に

Upgrade to Cassandra 1.2.15 or later before upgrading to Cassandra 2.0.5. 
Cassandra 2.0.5 is not network- or SSTable-compatible with versions older than 1.2.15.
 If you want to perform a rolling restart, first upgrade the entire cluster to 1.2.15, and then to 2.0

との事でした。

なので、1.2.13を使う場合で後で2.0系にupgradeしたくなった場合は、1.2.13 -> 1.2.15 -> 2.0.5のような形でupgradeをする必要があるというメモ。