$ sudo rpm -i http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm $ sudo yum install mysql-community-server mysql-utilities $ sudo service mysqld start
MySQL Fabric用のMySQL(Fabric的にはバッキングストアとかストレージって呼んでる)なので、取り敢えずOracle公式のyumリポジトリーで突っ込む。
そのほうがMySQL Utilities(mysqlfabricはコレに入ってる)のインストール(Connector/Pythonを要求してくる)が簡単なので。
$ mysql -uroot mysql> GRANT ALL ON fabric.* TO fabric@localhost IDENTIFIED BY 'fabric_password';
バッキングストアにはfabricスキーマを作っておく。
$ sudo vim /etc/mysql/fabric.cfg $ diff -c /etc/mysql/fabric.cfg{.orig,} *** /etc/mysql/fabric.cfg.orig 2014-09-24 19:08:45.000000000 +0000 --- /etc/mysql/fabric.cfg 2014-11-04 10:14:29.123248604 +0000 *************** *** 17,23 **** address = localhost:3306 connection_delay = 1 connection_timeout = 6 ! password = connection_attempts = 6 [failure_tracking] --- 17,23 ---- address = localhost:3306 connection_delay = 1 connection_timeout = 6 ! password = fabric_password connection_attempts = 6 [failure_tracking]
取り敢えずバッキングストア用のパスワードだけ埋める。
$ sudo touch /var/log/fabric.log $ sudo chown mysql. /var/log/fabric.log
--daemonizeする場合には/var/log/fabric.log(初期設定)に書き込めないと起動できなかった。
--daemonizeなしで標準出力に書かせてるぶんにはログに書かないぽく、パーミッションなしでも起動できる。
$ mysqlfabric manage setup [INFO] 1415096154.828998 - MainThread - Initializing persister: user (fabric), server (localhost:3306), database (fabric). Finishing initial setup ======================= Password for admin user is not yet set. Password for admin/xmlrpc: Repeat Password: Password set. Password set. No result returned
fabricスキーマの初期設定。
気を利かせてGRANTしたときついでに`CREATE DATABASE fabric`したらむしろ怒られた。空っぽの状態でやるのが吉。
adminユーザーのパスワードはFabricサーバーの管理用パスワードで、バッキングストアのパスワードとは何の関係もない。
空パスワードにしようとしたら、ドラクエ3やMother2みたいな感じでひたすら入力しろと迫ってくる。
$ mysqlfabric manage start [INFO] 1415096186.341115 - MainThread - Initializing persister: user (fabric), server (localhost:3306), database (fabric). [INFO] 1415096186.347491 - MainThread - Loading Services. [INFO] 1415096186.356114 - MainThread - MySQL-RPC protocol server started, listening on localhost:32275 [INFO] 1415096186.363849 - MainThread - Fabric node starting. [INFO] 1415096186.367503 - MainThread - Starting Executor. [INFO] 1415096186.367640 - MainThread - Setting 5 executor(s). [INFO] 1415096186.368038 - Executor-0 - Started. [INFO] 1415096186.369436 - Executor-1 - Started. [INFO] 1415096186.371009 - Executor-2 - Started. [INFO] 1415096186.372460 - Executor-3 - Started. [INFO] 1415096186.373751 - MainThread - Executor started. [INFO] 1415096186.374267 - Executor-4 - Started. [INFO] 1415096186.378326 - MainThread - Starting failure detector. [INFO] 1415096186.379138 - XML-RPC-Server - XML-RPC protocol server ('127.0.0.1', 32274) started. [INFO] 1415096186.379361 - XML-RPC-Server - Setting 1 XML-RPC session(s). [INFO] 1415096186.379623 - XML-RPC-Session-0 - Started XML-RPC-Session.
--daemonizeする場合はすぐに制御が返ってきて、出力は全て[logging]セクションで指定したファイルに行く。
しかし、daemonizeしようがするまいがタイムスタンプはUNIXTIMEなのか。。
MySQL Fabricは他の(MHA for MySQL, mysqlfailover, PXC(Galera Cluster), MySQL Cluster)と違ってIPの管理を自分でしない(Fabricノード(とコネクター)に任せる)あたりがちょっと素敵そうなところかと思って手を出してみたい。
バッキングストアの冗長化はkeepalivedでMySQL Cluster全部載せにしちゃうのがいいかな。。
あとは対応コネクターを選ぶのがちょっとアレな感じはするけれど。
次があるかどうかは定かではない。
【2014/11/06 14:51】
次があった。 => MySQL Fabricつらい(HA/登録編)
0 件のコメント :
コメントを投稿