MySQL Fabricを動かしてみた
ぶっちゃけほとんどこちらのブログ参考
日々の覚書: MySQL Fabricつらい(インストール編)
日々の覚書: MySQL Fabricつらい(HA/登録編)
MySQLの設定
/etc/my.cnf
//マスタースレーブ両方で設定 [mysqld] #replication log-bin = mysql-bin log-slave-updates = true gtid-mode = on enforce-gtid-consistency = true server-id=1000 // 各ノードで別の値にすること。
勘違いしてたこと
fabricのコマンドを打てばmysqlのmaster-slave構成の設定してくれるんでしょ?
$ mysqlfabric group promote my_first_fabric //fabricで管理しているノードからマスターを選出するコマンド
これだけだとダメだった。
mysqlreplicateなりでmaster-slaveの設定をしてあげないといけなかった。ここで行ったmaster-slave構成に合わせてfabricを設定するって感じかと。
$ mysqlreplicate --master=fabric:fabric_password@"10.10.10.10" --slave=fabric:fabric_password@"11.11.11.11" --rpl-user=fabric:fabric_password
一回設定してしまえばあとはマスターが死んでもfailoverした状態で自動的にマスターとスレーブを認識してくれる。(ちゃんと障害検知設定していれば)
ノードが死んだときの障害検知ってfabricでgroupに追加しておけばやってくれるんでしょ?
$ mysqlfabric group add fabricgrp 10.10.10.10 //fabricの管理しているノード郡に追加するコマンド
これだけだとダメだった。マスターが死んでもそのまま放置される。
ちゃんと障害検知を有効化すれば、マスターが死んだ時にスレーブをマスター昇格してくれる。
$ mysqlfabric group activate fabricgrp