10. Cassandra のバージョンアップ¶
ここでは Cassandra 、および、 Cassandra が利用するJDKのバージョンアップの方法を紹介します。ノート
Cassandra1.1.12にていくつかの不具合(運用中にデータが破損して再起動に失敗する恐れのある不具合など)が修正されているため、Cassandra1.1.4で既に運用している場合はバージョンアップを推奨します。2013 Winter(Felicia)以前にリリースされた intra-mart Accel Platform においても、Cassandra1.1.12での動作を確認しております。
10.1. Cassandra のバージョンアップ手順¶
Cassandra1.1.4からCassandra1.1.12にバージョンアップを行う場合、以下の手順が必要になります。バージョンアップ前には、 スナップショット を取得しておくことを推奨します。
Cassandra1.1.4を起動します。
Cassandra1.1.4をnodetoolコマンドのdrainで書き込み操作の受け入れを停止します。
Windowsの場合、コマンドプロンプトを起動し、以下のコマンドを実行します。
%CASSANDRA_HOME%/bin/nodetool drainLinuxの場合、以下のコマンドを実行します。
# /usr/local/cassandra/bin/nodetool drain起動中のCassandraに「DRAINED」が表示され、Cassandraが停止します。
Cassandra1.1.12の<%CASSANDRA_HOME%/conf/cassandra.yaml>ファイルにある、以下のプロパティをCassandra1.1.4で設定しているディレクトリとは異なるディレクトリに設定します。
- 「data_file_directories」プロパティ
- 「commitlog_directory」プロパティ
- 「saved_caches_directory」プロパティ
警告
Cassandra1.1.12のcommitlog_directory、saved_caches_directoryをCassandra1.1.4と同一ディレクトリに設定した場合、データ不整合が発生する恐れがあるため、commitlog_directory、saved_caches_directoryは別ディレクトリを設定してください。 Cassandra1.1.12で新しく設定した「data_file_directories」プロパティの保存先ディレクトリ内に、Cassandra1.1.4で設定していた「data_file_directories」プロパティの保存先ディレクトリ内をコピーします。警告
Cassandra1.1.4のスナップショットは、Cassandra1.1.12で設定する「data_file_directories」プロパティのディレクトリ内にコピーする必要はありません。スナップショットの格納場所、および、削除方法についての詳細は「スナップショット」を参照してください。Cassandra1.1.12を起動し、nodetoolコマンドのupgradesstablesでデータの再構築を行います。
Windowsの場合、コマンドプロンプトを起動し、以下のコマンドを実行します。
%CASSANDRA_HOME%/bin/nodetool upgradesstablesLinuxの場合、以下のコマンドを実行します。
# /usr/local/cassandra/bin/nodetool upgradesstablesCassandraの再構築が正常終了した時点で、バージョンアップの手順は完了となります。
ノート
- Cassandraをクラスタ構築している場合には、各ノード毎に再構築を行ってください。
- Cassandra1.1.4で Cassandra への接続認証設定 、Windowsサービスへの登録・削除 を行っている場合、バージョンアップ後にCassandra1.1.12で再度設定を行う必要があります。
10.2. JDK のバージョンアップ手順¶
Cassandraが利用するJDKのバージョンアップを行う場合、以下の手順が必要になります。バージョンアップ前には、 スナップショット を取得しておくことを推奨します。
Cassandraを起動します。
Cassandraをnodetoolコマンドのdrainで書き込み操作の受け入れを停止します。
Windowsの場合、コマンドプロンプトを起動し、以下のコマンドを実行します。
%CASSANDRA_HOME%/bin/nodetool drainLinuxの場合、以下のコマンドを実行します。
# /usr/local/cassandra/bin/nodetool drain起動中のCassandraに「DRAINED」が表示され、Cassandraが停止します。
JDKのバージョンアップを行います。
再度Cassandraを起動して、バージョンアップの手順は完了となります。
ノート
- Cassandraをクラスタ構築している場合には、各ノード毎にバージョンアップを行ってください。