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