[Groonga-commit] droonga/wikipedia-search.wiki at 2201f28 [master] Updated ノンストップでノードを追加する場面の検証手順 (markdown)

Back to archive index

YUKI Piro Hiroshi null+****@clear*****
Mon Apr 6 15:52:54 JST 2015


YUKI "Piro" Hiroshi	2015-04-06 15:52:54 +0900 (Mon, 06 Apr 2015)

  New Revision: 2201f282475573f288b34d753cc2e0cfa013401c
  https://github.com/droonga/wikipedia-search/wiki/%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%E5%A0%B4%E9%9D%A2%E3%81%AE%E6%A4%9C%E8%A8%BC%E6%89%8B%E9%A0%86/2201f282475573f288b34d753cc2e0cfa013401c

  Message:
    Updated ノンストップでノードを追加する場面の検証手順 (markdown)

  Modified files:
    ノンストップでノードを追加する場面の検証手順.md

  Modified: ノンストップでノードを追加する場面の検証手順.md (+11 -32)
===================================================================
--- ノンストップでノードを追加する場面の検証手順.md    2015-04-06 15:39:34 +0900 (8dc5685)
+++ ノンストップでノードを追加する場面の検証手順.md    2015-04-06 15:52:54 +0900 (560951f)
@@ -196,56 +196,35 @@ $SOURCE_SUDO service td-agent start
 
 ## joinのステップ実行
 
+コマンドのshorthandを用意
+
 ~~~
 serf="sudo -u droonga-engine -H /home/droonga-engine/droonga/serf"
 ~~~
 
-roleを変更
+まず新ノードをjoinさせる
 
 ~~~
 $serf query -rpc-addr node2:7373 change_role '{"node":"node2:10031/droonga","role":"absorb-destination"}'
-$serf members -rpc-addr node2:7373
-$serf query -rpc-addr node1:7373 add_replicas '{"cluster_id":"8951f1b01583c1ffeb12ed5f4093210d28955988","dataset":"Default","hosts":["node2"]}'
 $serf query -rpc-addr node2:7373 join '{"node":"node2:10031/droonga","type":"replica","source":"node1:10031/droonga","dataset":"Default"}'
 ~~~
 
-これで、各ノードは同一クラスタで、且つ新ノードのみが機能していない状態になる。
-
 この時点で、droonga-http-server �� node2は、接続先engineが存在しない(認識できていない)。
 よって、全てが完了した後でdroonga-http-serverからserfクラスタへの再joinが必要となるが、現在はその仕組みがないので、手動でのdroonga-http-serverver再起動などの作業が必要である。何か対策を考えないといけない。
 
-次に、コピー元ノードの更新を止める。
+次に、他のノードから新ノードを見えるようにする。
 
 ~~~
-$serf query -rpc-addr node1:7373 change_role '{"node":"node1:10031/droonga","role":"absorb-source"}'
-$serf members -rpc-addr node1:7373
-echo '{"dataset":"Default","type":"system.status"}' | droonga-request --host node1 --receiver-host node
-2
-Elapsed time: 0.019290464
-{
-  "inReplyTo": "1427442288.9436483",
-  "statusCode": 200,
-  "type": "system.status.result",
-  "body": {
-    "nodes": {
-      "node0:10031/droonga": {
-        "status": "inactive"
-      },
-      "node1:10031/droonga": {
-        "status": "active"
-      },
-      "node2:10031/droonga": {
-        "status": "dead"
-      }
-    },
-    "reporter": "node1:47716/droonga @ node1:10031/droonga"
-  }
-}
+$serf query -rpc-addr node1:7373 add_replicas '{"cluster_id":"8951f1b01583c1ffeb12ed5f4093210d28955988","dataset":"Default","hosts":["node2"]}'
 ~~~
 
-データをコピーする。
+これで、各ノードは同一クラスタで、且つ新ノードのみが機能していない状態になる。
+新ノード宛の書き込みメッセージの配送が始まるが、メッセージはバッファに溜まるようになっている。
+
+次に、コピー元ノードの更新を止めて、データをコピーする。
 
 ~~~
+$serf query -rpc-addr node1:7373 change_role '{"node":"node1:10031/droonga","role":"absorb-source"}'
 $serf query -rpc-addr node2:7373 absorb_data '{"node":"node2:10031/droonga","source":"node1:10031/droonga","port":10031,"tag":"droonga","dataset":"Default","messages_per_second":100}'
 $serf query -rpc-addr node2:7373 report_metadata '{"node":"node2:10031/droonga","key":"absorbing"}'
 
@@ -254,7 +233,7 @@ $serf query -rpc-addr node1:7373 report_metadata '{"node":"node1:10031/droonga",
 $serf query -rpc-addr node2:7373 set_metadata '{"node":"node2:10031/droonga","key":"last_processed_message_timestamp","value":"2015-03-24T04:36:09.423Z"}'
 ~~~
 
-roleを戻す。
+最後に、roleを戻す。
 
 ~~~
 $serf query -rpc-addr node1:7373 change_role '{"node":"node1:10031/droonga","role":null}'
-------------- next part --------------
HTML����������������������������...
Descargar 



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