[Groonga-commit] droonga/wikipedia-search.wiki at 368f8aa [master] Updated Droongaクラスタにノンストップでノードを追加する手順 (markdown)

Back to archive index

YUKI Piro Hiroshi null+****@clear*****
Mon May 19 17:38:09 JST 2014


YUKI "Piro" Hiroshi	2014-05-19 17:38:09 +0900 (Mon, 19 May 2014)

  New Revision: 368f8aae67a4f3bde17dfc11edbc38e216ff1dea
  https://github.com/droonga/wikipedia-search/wiki/Droonga%E3%82%AF%E3%83%A9%E3%82%B9%E3%82%BF%E3%81%AB%E3%83%8E%E3%83%B3%E3%82%B9%E3%83%88%E3%83%83%E3%83%97%E3%81%A7%E3%83%8E%E3%83%BC%E3%83%89%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%99%E3%82%8B%E6%89%8B%E9%A0%86/368f8aae67a4f3bde17dfc11edbc38e216ff1dea

  Message:
    Updated Droongaクラスタにノンストップでノードを追加する手順 (markdown)

  Modified files:
    Droongaクラスタにノンストップでノードを追加する手順.md

  Modified: Droongaクラスタにノンストップでノードを追加する手順.md (+36 -24)
===================================================================
--- Droongaクラスタにノンストップでノードを追加する手順.md    2014-05-19 17:10:04 +0900 (6a8a015)
+++ Droongaクラスタにノンストップでノードを追加する手順.md    2014-05-19 17:38:09 +0900 (27dda31)
@@ -10,47 +10,58 @@
 
  * node2/192.168.100.52
 
-を追加する。
+を追加する。またこの時、
+
+ * node2/192.168.100.51
+
+を複製元として使う。
 
 ## 基本方針
 
- 1. node1をクラスタから一旦切り離す。
- 2. node1, node2それぞれでサブクラスタを形成する。
- 3. node1からnode2へデータを複製する。
- 4. node1, node2を元のクラスタに戻す。
+ 1. node2をクラスタに仮追加する
+ 2. node1, node2をクラスタから一旦切り離す。
+ 3. node1, node2それぞれでサブクラスタを形成する。
+ 4. node1からnode2へデータを複製する。
+ 5. node1, node2を元のクラスタに戻す。
+
+## step1: node2をクラスタに仮追加する
+
+複製作業に関わらないノード(生存ノード、ここではnode0のみ)のcatalog.jsonに、node2の情報を加えて、最終的な構成の状態にあたるcatalog.jsonを用意する。
+
+    node0% droonga-catalog-add-replicas  --dataset=Starbucks \
+                                         --hosts=192.168.100.52 \
+                                         --catalog=~/droonga/catalog.json
 
+この時、node2はまだクラスタのための設定が行われていないので、実際にはノードとして動作しない。
+そのため、生存ノードから見た時、node2は「死んでいるノード」として扱われる。
 
-## step1: node1をクラスタから切り離す
 
-node1のdroonga-engineを止める。
+## step2: node1, node2をクラスタから切り離す
+
+node1, node2のdroonga-engineを止める。
 
     node1% sudo service droonga-engine stop
+    node2% sudo service droonga-engine stop
 
-この時点で、node1はクラスタから切り離される。
+この時点で、node1, node2はクラスタから切り離される。
 
-また、node0(および他の生存ノード)は以下のモードに切り替わる。
+また、生存ノードは以下のモードに切り替わる。
 
- * readなメッセージが来た場合、生存ノードの中だけで配送先を決める。
+ * readなメッセージが来た場合、生存ノード同士だけで配送先を決める。
  * writeなメッセージが来た場合、「配送するだけで、結果を待たない」という設定のメッセージを、生死に関わらずすべてのノードに送る。
  * 死んでいるノードへ配送するように指示されたメッセージは、内蔵のバッファに溜め込まれる。
 
-## step2: node1, node2それぞれでサブクラスタを形成する。
+## step3: node1, node2それぞれでサブクラスタを形成する。
 
 [通常版と同様](./Droonga%E3%82%AF%E3%83%A9%E3%82%B9%E3%82%BF%E3%81%AB%E3%83%8E%E3%83%BC%E3%83%89%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%99%E3%82%8B%E6%89%8B%E9%A0%86#step3-node1-node2%E3%81%9D%E3%82%8C%E3%81%9E%E3%82%8C%E3%81%A7%E3%82%B5%E3%83%96%E3%82%AF%E3%83%A9%E3%82%B9%E3%82%BF%E3%82%92%E5%BD%A2%E6%88%90%E3%81%99%E3%82%8B)
 
-## step3: node1からnode2へデータを複製する。
+## step4: node1からnode2へデータを複製する。
 
 [通常版と同様](./Droonga%E3%82%AF%E3%83%A9%E3%82%B9%E3%82%BF%E3%81%AB%E3%83%8E%E3%83%BC%E3%83%89%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%99%E3%82%8B%E6%89%8B%E9%A0%86#step4-node1%E3%81%8B%E3%82%89node2%E3%81%B8%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E8%A4%87%E8%A3%BD%E3%81%99%E3%82%8B)
 
-## step4: node1, node2を元のクラスタに戻す。
+## step5: node1, node2を元のクラスタに戻す。
 
-catalog.jsonのクラスタ構成を更新する。
-
-    node0% droonga-catalog-add-replicas  --dataset=Starbucks \
-                                         --hosts=192.168.100.52 \
-                                         --catalog=~/droonga/catalog.json
-
-新しいcatalog.jsoを展開する。
+最終的な構成のクラスタのためのcatalog.jsonをnode1, node2に展開する。
 
     node0% scp catalog.json 192.168.100.51:~/droonga/
     node0% scp catalog.json 192.168.100.52:~/droonga/
@@ -61,10 +72,11 @@ droonga-engineを再起動する。
     node1% sudo service droonga-engine restart
     node2% sudo service droonga-engine restart
 
-ここで、node1とnode2は、
-
+ここで、node1とnode2は、生存ノードから見た時に、ステータスが「死んでいるノード」から「復帰中のノード」に切り替わる。
 
-また、他の生存ノードはバッファに溜め込んでおいたwriteなメッセージを、復帰したノード(node1とnode2)に配送し始める。
-バッファが空になったら、通常通りメッセージが流れてくるようになる。
+この時、生存ノードはバッファに溜め込んでおいたwriteなメッセージを、復帰中のノード(node1とnode2)に配送し始める。
+バッファが空になるまでは、復帰中のノード宛のメッセージはバッファに貯まっていく。
+バッファが空になったら、復帰中のノードは「生きている」状態に戻る。
+生存ノードの状態に戻った後は、通常通りメッセージが流れてくるようになる。
 
 以上でノードの追加は完了である。
\ No newline at end of file
-------------- next part --------------
HTML����������������������������...
Download 



More information about the Groonga-commit mailing list
Back to archive index