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