[Groonga-commit] droonga/wikipedia-search.wiki at a1067df [master] Updated Droongaノードの死活管理をSerfで行う手順 (markdown)

Back to archive index

YUKI Piro Hiroshi null+****@clear*****
Wed May 7 16:01:20 JST 2014


YUKI "Piro" Hiroshi	2014-05-07 16:01:20 +0900 (Wed, 07 May 2014)

  New Revision: a1067dff013949bf61131b5d4140c974c4e0081f
  https://github.com/droonga/wikipedia-search/wiki/Droonga%E3%83%8E%E3%83%BC%E3%83%89%E3%81%AE%E6%AD%BB%E6%B4%BB%E7%AE%A1%E7%90%86%E3%82%92Serf%E3%81%A7%E8%A1%8C%E3%81%86%E6%89%8B%E9%A0%86/a1067dff013949bf61131b5d4140c974c4e0081f

  Message:
    Updated Droongaノードの死活管理をSerfで行う手順 (markdown)

  Modified files:
    Droongaノードの死活管理をSerfで行う手順.md

  Modified: Droongaノードの死活管理をSerfで行う手順.md (+36 -4)
===================================================================
--- Droongaノードの死活管理をSerfで行う手順.md    2014-05-07 15:50:54 +0900 (95e7a7a)
+++ Droongaノードの死活管理をSerfで行う手順.md    2014-05-07 16:01:20 +0900 (4b8e768)
@@ -22,13 +22,25 @@
     ここではポート番号の指定を省略しており、Serf既定のポート「7946」が使われる。
     
         (node0)
-        % serf agent -node=node0 -bind=192.168.100.50
+        % serf agent -node=node0 -bind=192.168.100.50 \
+                     -event-handler=/path/to/command \
+                     -log-level=debug
         ----
         (node1)
-        % serf agent -node=node1 -bind=192.168.100.51
+        % serf agent -node=node1 -bind=192.168.100.51 \
+                     -event-handler=/path/to/command \
+                     -log-level=debug
         ----
         (node2)
-        % serf agent -node=node2 -bind=192.168.100.52
+        % serf agent -node=node2 -bind=192.168.100.52 \
+                     -event-handler=/path/to/command \
+                     -log-level=debug
+    
+    * この時、各ノードではイベントハンドラに以下の情報が渡される(以下はnode0の場合)。
+      * $SERF_EVENT: member-join
+      * stdin:
+        
+            node0 192.168.100.50
 
 
 ## クラスタへの明示的な参加
@@ -51,6 +63,12 @@
       (実際の運用時は、catalog.jsonからIPアドレスを収集してくることになる?)
     * 複数回joinしても問題ない。
       (ただし、既にjoin済みの場合はエラーのイベントが発生するようなので、あるノードへのjoinに失敗したら次のノードにjoinを試みる、といった形でfallbackするのがよさそう。)
+    * この時、各ノードではイベントハンドラに以下の情報が渡される(以下はnode0の場合)。
+      * $SERF_EVENT: member-join
+      * stdin:
+        
+            node1 192.168.100.51
+            node2 192.168.100.52
     
  2. クラスタへの参加に成功したかどうか、serf membersコマンドで確認する。
     
@@ -63,6 +81,12 @@
 
  1. どれか1つのノード(例えばnode1)でSerfのプロセスを終了してみる。
     するとイベントが自動的にメンバーに通知されて、各メンバーが持つメンバーリストが更新される。
+    * この時、クラスタに残されたノードではイベントハンドラに以下の情報が渡される(以下はnode0の場合)。
+      * $SERF_EVENT: member-leave
+      * stdin:
+        
+            node1 192.168.100.51
+        
  2. 他のノード(node0かnode2)でserf membersしてみる。
     
         (node0)
@@ -75,7 +99,9 @@
  3. 離脱したノードで再度Serfを起動する。
     
         (node1)
-        % serf agent -node=node1 -bind=192.168.100.51
+        % serf agent -node=node1 -bind=192.168.100.51 \
+                     -event-handler=/path/to/command \
+                     -log-level=debug
     
     この時点ではまだ、このノードはクラスタに復帰していない。
     
@@ -94,6 +120,12 @@
         (node1)
         % serf join 192.168.100.50
     
+    * この時、クラスタに残っていたノードではイベントハンドラに以下の情報が渡される(以下はnode0の場合)。
+      * $SERF_EVENT: member-join
+      * stdin:
+        
+            node1 192.168.100.51
+    
  5. クラスタへの参加に成功したかどうか、serf membersコマンドで確認する。
     
         % serf members
-------------- next part --------------
HTML����������������������������...
Descargar 



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