YUKI Piro Hiroshi
null+****@clear*****
Mon Apr 6 15:39:34 JST 2015
YUKI "Piro" Hiroshi 2015-04-06 15:39:34 +0900 (Mon, 06 Apr 2015) New Revision: 92fc899b3f32e7fedcb8b2912a1f07cd1a9ad63c 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/92fc899b3f32e7fedcb8b2912a1f07cd1a9ad63c Message: Updated ノンストップでノードを追加する場面の検証手順 (markdown) Modified files: ノンストップでノードを追加する場面の検証手順.md Modified: ノンストップでノードを追加する場面の検証手順.md (+15 -11) =================================================================== --- ノンストップでノードを追加する場面の検証手順.md 2015-04-01 19:30:48 +0900 (ed56ea7) +++ ノンストップでノードを追加する場面の検証手順.md 2015-04-06 15:39:34 +0900 (8dc5685) @@ -203,19 +203,22 @@ serf="sudo -u droonga-engine -H /home/droonga-engine/droonga/serf" roleを変更 ~~~ -$serf query -rpc-addr node1:7373 change_role '{"node":"node1:10031/droonga","role":"absorb-source"}' $serf query -rpc-addr node2:7373 change_role '{"node":"node2:10031/droonga","role":"absorb-destination"}' -$serf members -rpc-addr node1:7373 $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-engine �� node2のみがクラスタから切り離されている状態である。 -droonga-http-server �� node2は、接続先engineが存在しない(認識できていない)。 -※よって、全てが完了した後でdroonga-http-serverからserfクラスタへの再joinが必要となるが、現在はその仕組みがないので、手動でのdroonga-http-serverver再起動などの作業が必要である。何か対策を考えないといけない。 +これで、各ノードは同一クラスタで、且つ新ノードのみが機能していない状態になる。 -~~~ -$serf query -rpc-addr node1:7373 add_replicas '{"cluster_id":"8951f1b01583c1ffeb12ed5f4093210d28955988","dataset":"Default","hosts":["node2"]}' +この時点で、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 @@ -240,19 +243,20 @@ Elapsed time: 0.019290464 } ~~~ -これで、node0/1からはnode2が見えるようになる。 +データをコピーする。 ~~~ - -$serf query -rpc-addr node2:7373 join '{"node":"node2:10031/droonga","type":"replica","source":"node1:10031/droonga","dataset":"Default"}' - $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"}' $serf query -rpc-addr node1:7373 report_metadata '{"node":"node1:10031/droonga","key":"last_processed_message_timestamp"}' $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を戻す。 + +~~~ $serf query -rpc-addr node1:7373 change_role '{"node":"node1:10031/droonga","role":null}' $serf query -rpc-addr node2:7373 change_role '{"node":"node2:10031/droonga","role":null}' ~~~ -------------- next part -------------- HTML����������������������������... Download