Droongaクラスタにノードを追加する手順
YUKI "Piro" Hiroshi edited this page May 19, 2014
·
9 revisions
ノードを追加する操作において想定されるワークフローを検討する。
- node0/192.168.100.50
- node1/192.168.100.51
の2つのレプリカがあると仮定する。 ここに
- node2/192.168.100.52
を追加する。
- node1をクラスタから一旦切り離す。
- node1, node2それぞれでサブクラスタを形成する。
- node1からnode2へデータを複製する。
- node1, node2を元のクラスタに戻す。
node1のdroonga-engineを止める。
node1% sudo service droonga-engine stop
この時点で、node1はクラスタから切り離される。
node1のcatalog.jsonを更新する。
node1% droonga-catalog-remove-replicas --dataset=Starbucks \
--hosts=192.168.100.50 \
--catalog=~/droonga/catalog.json
catalog.json.2014-05-19T15-30-42 catalog.json.2014y05m19d15h30m42s などの名前でバックアップが作成される。
node1% sudo service droonga-engine restart
これで、node1だけのクラスタができた。
※node0はnode1のserfが起動した事を検知するが、何らかの方法で、serfのクラスタには組み込まれない事を検知することにする。
次に、node2だけのクラスタを作る。
node1% scp catalog.json 192.168.100.52:~/droonga/
node1% droonga-catalog-add-replicas --dataset=Starbucks \
--hosts=192.168.100.52 \
--catalog=~/droonga/catalog.json
node1% droonga-catalog-remove-replicas --dataset=Starbucks \
--hosts=192.168.100.51 \
--catalog=~/droonga/catalog.json
node1% sudo service droonga-engine restart
これで、node2だけのクラスタができた。