ヒマをみつけてWeb開発
その場の思い付きを、ヒマをみつけてWebサイトにしてみるブログ

Cassandra0.6から0.7への移行

Tuesday, 8 March 2011 07:01 by sabro

Cassandra0.6から0.7への移行方法書いてみます。Cassandraパッケージ内の文書に書いてあるやつほぼそのままだけど。

ちなみに、今回移行するのは0.7.3。0.7.1と0.7.2はブルームフィルターの圧縮にバグがあるらしくて、0.7.3でデータを取り込む前に「nodetool scrub」を実行しないとダメっぽいですけど、0.6系からならこの手順はいらないらしいので今回は飛ばします

追記:ちょっと勘違いしてたかも、0.6系で動かしてたやつに対して実行しないとダメぽいです

  1. 0.6のすべてのノードで「bin/nodetool drain」を実行。これはノード上の全てのmemtablesをフラッシュして、書き込み禁止にする命令です。読み込みは許可されます。
  2. ログに、"Node is drained"と表示されたら、Cassandraのプロセスを止めます。
  3. 0.7のディレクトリに移動し、「bin/config-converter oldfile newfile」で、storage-conf.xmlをcassandra.yamlにコンバートします。ただ、0.6のほぼ弄ってない設定をコンバートしても、0.7にデフォルトで付いてくるyamlと結構違う部分があったので、コンバートしたものからKeySpaceの設定だけコピーすることにしました。
  4. KeySpace、ColumnFamilyの名前が'^\w+'の正規表現に一致しない場合は名前を変更します
  5. データを0.7のディレクトリへコピー
  6. 0.7でCassandraを起動
  7. 「bin/schematool <host> <jmxport> import」と実行することで、yamlの設定を読み込む

 

以上です( ̄∇  ̄ )

Categories:   NoSQL
Actions:   Permalink | Comments (14) | Comment RSSRSS comment feed