【2014/12/25 14:03】 リンク間違ってんじゃん。。
https://github.com/yoku0825/my_script/blob/master/make_mysqlfabric_sandbox.sh
MySQL Fabricのファームにすぐに突っ込めるようなDockerイメージ を使ってもろもろ整理した結果、こんなんなりました。
確認した環境は、 どっかのVPS の テンプレートイメージ"CentOS 6.5(64bit)"、epel-releaseは予め入ってました。
# rpm -i http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm # yum install -y mysql-server mysql-utilities docker-io
DockerホストをそのままMySQL Fabricサーバー(バッキングストア相乗り)にするので、そのへんをゴニョゴニョ。
あとそういう趣旨なのでDockerも入れないと。
# vim /etc/mysql/fabric.cfg .. # diff -C 0 /etc/mysql/fabric.cfg.orig /etc/mysql/fabric.cfg *** /etc/mysql/fabric.cfg.orig 2014-12-19 17:57:22.512670132 +0900 --- /etc/mysql/fabric.cfg 2014-12-19 17:56:43.957666364 +0900 *************** *** 16 **** ! user = fabric --- 16 ---- ! user = backingstore *************** *** 20 **** ! password = --- 20 ---- ! password = backingstore *************** *** 34 **** ! password = --- 34 ---- ! password = fabric_password *************** *** 45 **** ! disable_authentication = no --- 45 ---- ! disable_authentication = yes *************** *** 64 **** ! disable_authentication = no --- 64 ---- ! disable_authentication = yes
色々面倒なのでXML経由もMySQLプロトコル経由もdisable_authentication=yesにしてしまう。
バッキングストアのユーザー名を変えてるのは単なる気まぐれ。
Dockerイメージには予めFabric管理用の特権ユーザーとしてfabricユーザーがいるので、なんとなくかぶせたくなかっただけ。
# /etc/init.d/mysqld start # mysql mysql> GRANT ALL ON fabric.* TO backingstore@127.0.0.1 IDENTIFIED BY 'backingstore'; Query OK, 0 rows affected (0.02 sec) # /etc/init.d/docker start # git clone https://github.com/yoku0825/my_script # my_script/make_mysqlfabric_sandbox.sh start global shard1 shard2 .. Finishing initial setup ======================= Password for admin user is not yet set. Password for admin/xmlrpc: Repeat Password: Password set. Password set. No result returned .. # my_script/mysqlfabric_tree.sh global 3d2f0764-8760-11e4-baf4-0242ac110002 172.17.0.2 PRIMARY READ_WRITE 1.0 shard1 4395a789-8760-11e4-baf4-0242ac110003 172.17.0.3 PRIMARY READ_WRITE 1.0 shard2 4b23890a-8760-11e4-baf4-0242ac110004 172.17.0.4 PRIMARY READ_WRITE 1.0
途中、mysqlfabricを初期化してるところでパスワードは聞かれる(そして空にできない)ので取り敢えず入力するけど、disable_authentication=yesなので実際にコマンドラインクライアントから叩くときには使われない。これだけで1グループ1台構成のシャーディングの準備ができる。そのうち、1グループに2台以上追加する何かも考えようかどうしようか。
大事なことなのでもう一度いいます。
僕と地雷友達になってください :)
さて、やっとここまで来られたので次はシャードの検証しましょうかね。。
【2015/02/23 16:00】
そういえば、コンマ区切りで各グループのインスタンスの数を制御できるようにしてあった。
https://github.com/yoku0825/my_script/commit/6fb06fae6784fe5eb8e2b83b1292a9b7b15f8504
# ./make_mysqlfabric_sandbox.sh start shard1,2 shard2,3 .. # ./mysqlfabric_tree.sh shard2 0a3c9c1c-bb2a-11e4-8ca9-0242ac110058 172.17.0.88 SECONDARY READ_ONLY 1.0 1265aaa4-bb2a-11e4-8ca9-0242ac110059 172.17.0.89 FAULTY READ_ONLY 1.0 1ada394c-bb2a-11e4-8ca9-0242ac11005a 172.17.0.90 PRIMARY READ_WRITE 1.0 shard1 019dec7f-bb2a-11e4-8ca8-0242ac110057 172.17.0.87 SECONDARY READ_ONLY 1.0 fb300b5b-bb29-11e4-8ca8-0242ac110056 172.17.0.86 PRIMARY READ_WRITE 1.0
0 件のコメント :
コメントを投稿