Vagrant で Riak クラスターを構築するために vagrant-riak-cluster というものを作ってみた。
使い方
使い方は READE.md にある通りで、デフォルトでは5ノード作成されるようにしてある。作成するノードは環境変数 NODES
で定義できるようにしてあるので、3ノード作成したい場合は下記のようにすれば良い。
$ NODES=3 vagrant up
Riak クラスターの構築
vagrant up
完了時には各ノードには Riak がインストールされた状態となるので、クラスターを構築するのは下記の手順が必要になる。
- join
- plan
- commit
join
クラスターにノードを追加するために、下記を実行する。
$ for node in riak{2,3,4,5}; do; vagrant ssh $node -c "sudo riak-admin cluster join riak@192.168.33.11"; done; Success: staged join request for 'riak@192.168.33.12' to 'riak@192.168.33.11' Connection to 127.0.0.1 closed. Success: staged join request for 'riak@192.168.33.13' to 'riak@192.168.33.11' Connection to 127.0.0.1 closed. Success: staged join request for 'riak@192.168.33.14' to 'riak@192.168.33.11' Connection to 127.0.0.1 closed. Success: staged join request for 'riak@192.168.33.15' to 'riak@192.168.33.11' Connection to 127.0.0.1 closed.
plan
ノード追加後のクラスターの状態を計画させるために、下記を実行する。
$ vagrant ssh riak1 [vagrant@riak1 ~]$ sudo riak-admin cluster plan =============================== Staged Changes ================================ Action Details(s) ------------------------------------------------------------------------------- join 'riak@192.168.33.12' join 'riak@192.168.33.13' join 'riak@192.168.33.14' join 'riak@192.168.33.15' ------------------------------------------------------------------------------- NOTE: Applying these changes will result in 1 cluster transition ############################################################################### After cluster transition 1/1 ############################################################################### ================================= Membership ================================== Status Ring Pending Node ------------------------------------------------------------------------------- valid 100.0% 20.3% 'riak@192.168.33.11' valid 0.0% 20.3% 'riak@192.168.33.12' valid 0.0% 20.3% 'riak@192.168.33.13' valid 0.0% 20.3% 'riak@192.168.33.14' valid 0.0% 18.8% 'riak@192.168.33.15' ------------------------------------------------------------------------------- Valid:5 / Leaving:0 / Exiting:0 / Joining:0 / Down:0 Transfers resulting from cluster changes: 51 13 transfers from 'riak@192.168.33.11' to 'riak@192.168.33.13' 13 transfers from 'riak@192.168.33.11' to 'riak@192.168.33.12' 12 transfers from 'riak@192.168.33.11' to 'riak@192.168.33.15' 13 transfers from 'riak@192.168.33.11' to 'riak@192.168.33.14'
commit
計画したクラスターの状態を反映させるために、下記を実行する。
[vagrant@riak1 ~]$ sudo riak-admin cluster commit Cluster changes committed
クラスターの状態は member-status
で確認することができる。
[vagrant@riak1 ~]$ sudo riak-admin member-status ================================= Membership ================================== Status Ring Pending Node ------------------------------------------------------------------------------- valid 20.3% -- 'riak@192.168.33.11' valid 20.3% -- 'riak@192.168.33.12' valid 20.3% -- 'riak@192.168.33.13' valid 20.3% -- 'riak@192.168.33.14' valid 18.8% -- 'riak@192.168.33.15' ------------------------------------------------------------------------------- Valid:5 / Leaving:0 / Exiting:0 / Joining:0 / Down:0
Pending
が --
となっていれば、クラスターの構築は完了である。
Riak Control
Riak Control を有効にしてあるので、ブラウザで http://192.168.33.11:8098/admin
にアクセスすると、下記のような画面を確認することができる。