あーかいぶすハイディフィニション

ここはもう更新しとらんのじゃ

MySQL Cluster の起動タイミング

すげー久しぶりの記事ですが、ここの更新がない→僕の仕事も平和という事で一つご了承頂きたいんです。

Start phase

MySQL Cluster には起動にいくつかの段階があり、それぞれを Start phase と呼ぶらしいです。
で、起動タイミングという話でしたが、要は以下のようなパターン。

ndb_mgm> show
Cluster Configuration
---------------------
[ndbd(NDB)]	2 node(s)
id=11	@192.168.254.21  (mysql-5.5.22 ndb-7.2.6, Nodegroup: 0, Master)
id=12	@192.168.254.22  (mysql-5.5.22 ndb-7.2.6, Nodegroup: 0)

[ndb_mgmd(MGM)]	2 node(s)
id=1	@192.168.254.11  (mysql-5.5.22 ndb-7.2.6)
id=2	@192.168.254.12  (mysql-5.5.22 ndb-7.2.6)

[mysqld(API)]	2 node(s)
id=21 (not connected, accepting connect from 192.168.254.11)
id=22 (not connected, accepting connect from 192.168.254.12)

これで 192.168.254 ( .11 | .12 ) いずれかで、/etc/init.d/mysql start とかすれば普通は MySQL Server(API)が起動するはずですね。
ここで、「Starting......」って感じで、タイムアウト時間までずっと待たされる、みたいなのが起動タイミングの何がしかです。

待たされる…

クラスタ自体の動作ログを見ればノード間同期している他に「start phase XXXXX」のように、クラスタ全体がどの程度まで起動しているかを確認できます。
ようはこれで「start phase 101」を超えてないと、MySQL Server(API)からの要求(コネクションやクエリなど)が通らず、いつまでも利用できません。
何がしかのメンテナンスの際に必ず一回は引っかかってて、お前学べって感じですが……。

MySQL :: MySQL NDB Cluster 7.5 :: 7.1 Summary of NDB Cluster Start Phases