Hatena::Groupasakura

浅倉卓司@blog風味? このページをアンテナに追加 RSSフィード

Error : RSSが取得できませんでした。

2010-02-19(Fri)

MySQL Clusterを動かしてみたよ。

|  MySQL Clusterを動かしてみたよ。 - 浅倉卓司@blog風味? を含むブックマーク  MySQL Clusterを動かしてみたよ。 - 浅倉卓司@blog風味? のブックマークコメント

 MySQL Clusterに関する情報が少ないので、役に立たないかもしれないけど動かした時のレポートを残しておくよ。

 ちなみにWindows版の7.0.9(プレビュー版)を使ったけど、いつのまにか http://dev.mysql.com/downloads/cluster/ からなくなってますね。。。注意書きを無視する人が多かったせいじゃろか。


参考URL

 基本的に奥野さんの記事と、MySQLの公式ドキュメントを読みながら。

 公式ドキュメントの日本語版は記述が古いので、英語版を読んだほうがよさそう。

起動手順

 詳しいことは上記の参考URLを読む前提で。

  • ndb_mgmd を起動する
  • ndbd を起動する(start待ちにする)
  • ndb_mgmで all start する
  • mysqld を起動する

――でよさげ。


補足
  • ndbd(データノード)は基本的に一斉に起動する必要がある(らしい)。
    • 必要なデータノードが起動していないと(接続できないと)、データノードは自動的に停止するため。
  • そのため -n オプションで起動待ちにし、ndb_mgm から起動コマンドを送信して立ち上げる。
  • MySQL Clusterで面倒なのは、ndbdのパラメータ設定なんだと思う。
    • 起動して使うところまではそんなに難しくはないけど、チューニングはイマイチよく分からない。

ndbd(データノード)が停止した場合について

  • ndbdを再起動すれば、勝手に同期を始める
    • 「-n」で起動待ちにする必要はない。起動待ちにした場合は ndb_mgm から startさせるのを忘れないこと。
  • ハードを入れ替える場合は、IdはそのままでHostnameを変えればいい(はず)
    • データは自動的に同期をとるので、起動するだけでいいみたい。
  • 同期には時間がかかる(ネットワークが遅かったからかもしれない)
    • バックアップがあるならそれでリストアしてから起動すれば同期に時間がかからないのかな? このへんはもうちょっと調べる必要がありそう。

データノードを増やす方法について

  • config.ini の [NDBD] セクションの追加で増やせる(はず)
  • [NDBD]は2つセットで増やす必要がある
  • データノードを増やす場合は、一時的に全てのデータノードを停止する必要がある
    • その間にengine=ndbなテーブルにアクセスした場合はエラーになる

手順
  • config.iniの書き換え
  • ndb_mgmで ndb_mgmdを restart -i(-i でconfig.iniを読み込ませる)
  • ndb_mgmで all stopして全てのndbd(データノード)を停止
  • 全ての ndbd を再起動
  • ndb_mgmで all startして全てのndbdを開始
  • ndb_mgmで create nodegroup <id1>,<id2>してノードグループを増やす(不要?)
    • ノードグループを増やす必要があるのかはちょっと分からなかった。

 そうそう、データノードが全て停止するとSQLノード(mysqld)との接続も切れます。この間はengine=ndbなテーブルにはアクセスできません(エラーになる)。「show tables」をするとレスポンスが返って来ずに待ち状態になりましたが、これがプレビュー版だからなのか正式版でもそうなのかは不明。

 データノードが復活すれば自動的にSQLノードと再接続し、普通にアクセスできるようになります。

トラックバック - http://asakura.g.hatena.ne.jp/asakura-t/20100219
2004 | 01 | 02 | 03 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2005 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 03 | 04 | 05 | 06 | 08 | 09 | 10 | 11 | 12 |
2007 | 02 | 03 | 04 | 05 | 06 | 07 | 10 | 11 | 12 |
2008 | 02 | 03 | 04 | 06 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2012 | 02 | 03 | 04 | 05 | 07 | 08 | 10 | 11 | 12 |
2013 | 01 | 05 | 07 |
2014 | 01 | 02 |
2016 | 01 |
2017 | 01 | 05 |
Error : RSSが取得できませんでした。