[groonga-dev,03045] Re: Droongaのクラスタ構築についてのご質問

Back to archive index

Seto Ryuta rseto****@gmail*****
2015年 1月 7日 (水) 13:14:12 JST


瀬戸です。

お返事ありがとうございます。
ポートの公開設定を変更することでクラスタ構成での動作確認ができました。

> droonga-http-serverがdroonga-engineからのメッセージを待ち受けるための
> ポートを固定、あるいは使うポート番号の範囲を指定できるように、なるべく早
> 急に何らかの対策を講じたいと思っております!
期待しています! よろしくお願いします。

--
瀬戸


2015-01-07 10:56 GMT+09:00 YUKI Hiroshi <yuki****@clear*****>:

> Droonga開発チームの結城です。
> フィードバックありがとうございます!
> ご不便をおかけして申し訳ありません……
>
> > これはnode2の49126ポート、あるいはその他のポートも開放する必要があると
> いうことでしょうか?
> > (現在はnode1, node2ともdroonga-engineの10031、droonga-http-serverの
> 10041、serfの7946,
> > 8946ポートしか開放していません)
>
> node2上でdroonga-http-serverが動作していて、node2のdroonga-http-serverに
> 対してHTTPリクエストを送ったという状況であれば、このような現象が起こる可
> 能性は高いです。
> droonga-http-server @ node2は、droonga-engine @ node1からのレスポンスを受け
> 取るための物と、droonga-engine @ node2からのレスポンスを受け取るための物
> の、2つのサーバソケットを開いて接続を待ち受けます。
> これらのソケットのためのポートが解放されていないと、droonga-http-
> server @ node2droonga-engine @ node1空送り返されてきたメッセージを受け取る
> ことができません。
>
> 現状では、これらのソケットのためのポート番号は完全にランダムに決定される
> 仕様のため、あらかじめ開放するポートを決めておくということが残念ながらで
> きません。
> droonga-http-serverがdroonga-engineからのメッセージを待ち受けるための
> ポートを固定、あるいは使うポート番号の範囲を指定できるように、なるべく早
> 急に何らかの対策を講じたいと思っております!
>
>
> Seto Ryuta wrote:
> > こんにちは。瀬戸と申します。
> >
> > 新規サービスの検索サーバーとしてdroongaを利用させて頂いています。
> >
> > droongaの単体ノード2つで起動確認をした後、複数ノードの設定を試みているのですが、
> > エラーにより応答が得られなくなってしまいました。
> > その際に発生したエラーについてご質問させて下さい。
> >
> > node1, node2という2つのサーバーを用意し、それぞれにdroonga1.0.9を導入し、単体でサービス起動、応答確認を行いました。
> > その後、droonga-engine-configure,
> > droonga-http-server-configureからクラスタ構成に設定を変更しました。
> > また、相互にノードが参照できるよう、/etc/hosts にそれぞれのホスト名を記述し、serfで利用する7946,
> 8946ポートを解放しました。
> >
> 以上の設定を行った後、droongaを再起動し、system/statusのリクエストをしたのですが、サーバーから応答が得られなくなってしまいました。
> > droongaを停止させると、node1のdroonga-engineに次のようなログが残っていました。
> >    2015-01-07T09:24:20+09:00[3966][error]: [3960] fluent-message-sender:
> > failed to connect to node2:49126
> > これはnode2の49126ポート、あるいはその他のポートも開放する必要があるということでしょうか?
> > (現在はnode1,
> node2ともdroonga-engineの10031、droonga-http-serverの10041、serfの7946,
> > 8946ポートしか開放していません)
> > ご教示頂ければ幸いです。
> > よろしくお願いします。
> >
> >
> > node1のdroonga-engineログ(IPアドレスは伏せています)
> > ====================================================
> > 2015-01-07T09:23:49+09:00[3966][info]: engine: catalog loaded
> > path="/home/droonga-engine/droonga/catalog.json" mtime=2015-01-06
> 18:56:20
> > +0900
> > 2015-01-07T09:23:48+09:00[3960][info]: serf[3964]: Starting Serf agent...
> > 2015-01-07T09:23:48+09:00[3960][info]: serf[3964]: Starting Serf agent
> > RPC...
> > 2015-01-07T09:23:48+09:00[3960][info]: serf[3964]: Serf agent running!
> > 2015-01-07T09:23:48+09:00[3960][info]: serf[3964]:      Node name:
> > 'node1:10031/droonga'
> > 2015-01-07T09:23:48+09:00[3960][info]: serf[3964]:      Bind addr:
> > '[node1のIPアドレス]:7946'
> > 2015-01-07T09:23:48+09:00[3960][info]: serf[3964]:       RPC addr:
> > 'node1:7373'
> > 2015-01-07T09:23:48+09:00[3960][info]: serf[3964]:      Encrypted: false
> > 2015-01-07T09:23:48+09:00[3960][info]: serf[3964]:       Snapshot: false
> > 2015-01-07T09:23:48+09:00[3960][info]: serf[3964]:        Profile: lan
> > 2015-01-07T09:23:48+09:00[3960][info]: serf[3964]:
> > 2015-01-07T09:23:48+09:00[3960][info]: serf[3964]: Log data will now
> stream
> > in as it occurs:
> > 2015-01-07T09:23:48+09:00[3960][info]: serf[3964]:
> > 2015-01-07T09:23:48+09:00[3960][info]: serf[3964]: agent: Serf agent
> > starting
> > 2015-01-07T09:23:48+09:00[3960][info]: serf[3964]: serf: EventMemberJoin:
> > node1:10031/droonga [node1のIPアドレス]
> > 2015-01-07T09:23:48+09:00[3960][info]: serf[3964]: agent: Joining
> > cluster...(replay: false)
> > 2015-01-07T09:23:48+09:00[3960][info]: serf[3964]: agent: joining:
> [node2]
> > replay: false
> > 2015-01-07T09:23:48+09:00[3960][info]: serf[3964]: serf: EventMemberJoin:
> > node2:10031/droonga [node2のIPアドレス]
> > 2015-01-07T09:23:48+09:00[3960][info]: serf[3964]: agent: joined: 1 nodes
> > 2015-01-07T09:23:48+09:00[3960][info]: serf[3964]: agent: Join completed.
> > Synced with 1 initial agents
> > 2015-01-07T09:23:49+09:00[3960][info]: serf[3964]: agent: Received event:
> > member-join
> > 2015-01-07T09:23:50+09:00[3960][info]: serf[3964]: agent.ipc: Accepted
> > client: [node1のIPアドレス]:38466
> > 2015-01-07T09:23:53+09:00[3960][info]: serf[3964]: serf: EventMemberJoin:
> > node2/protocol-adapter [node2のIPアドレス]
> > 2015-01-07T09:23:54+09:00[3960][info]: serf[3964]: agent: Received event:
> > member-join
> > 2015-01-07T09:23:54+09:00[3960][info]: serf[3964]: agent.ipc: Accepted
> > client: [node1のIPアドレス]:38467
> > 2015-01-07T09:23:55+09:00[3960][info]: serf[3964]: agent.ipc: Accepted
> > client: [node1のIPアドレス]:38468
> > 2015-01-07T09:23:50+09:00[3966][info]: engine: live-nodes loaded
> > path="/home/droonga-engine/droonga/state/live-nodes.json"
> mtime=2015-01-07
> > 09:23:50 +0900
> > 2015-01-07T09:23:55+09:00[3966][info]: engine: live-nodes loaded
> > path="/home/droonga-engine/droonga/state/live-nodes.json"
> mtime=2015-01-07
> > 09:23:54 +0900
> > 2015-01-07T09:24:20+09:00[3966][error]: [3960] fluent-message-sender:
> > failed to connect to node2:49126
> > 2015-01-07T09:24:24+09:00[3966][error]: [3960] fluent-message-sender:
> > failed to connect to node2:34670
> >
> >
> >
> > node2のdroonga-engineログ(IPアドレスは伏せています)
> > ====================================================
> > 2015-01-07T09:21:14+09:00[24485][info]: engine: catalog loaded
> > path="/home/droonga-engine/droonga/catalog.json" mtime=2015-01-06
> 18:58:10
> > +0900
> > 2015-01-07T09:21:13+09:00[24479][info]: serf[24483]: Starting Serf
> agent...
> > 2015-01-07T09:21:13+09:00[24479][info]: serf[24483]: Starting Serf agent
> > RPC...
> > 2015-01-07T09:21:13+09:00[24479][info]: serf[24483]: Serf agent running!
> > 2015-01-07T09:21:13+09:00[24479][info]: serf[24483]:      Node name:
> > 'node2:10031/droonga'
> > 2015-01-07T09:21:13+09:00[24479][info]: serf[24483]:      Bind addr:
> > '[node2のIPアドレス]:7946'
> > 2015-01-07T09:21:13+09:00[24479][info]: serf[24483]:       RPC addr:
> > 'node2:7373'
> > 2015-01-07T09:21:13+09:00[24479][info]: serf[24483]:      Encrypted:
> false
> > 2015-01-07T09:21:13+09:00[24479][info]: serf[24483]:       Snapshot:
> false
> > 2015-01-07T09:21:13+09:00[24479][info]: serf[24483]:        Profile: lan
> > 2015-01-07T09:21:13+09:00[24479][info]: serf[24483]:
> > 2015-01-07T09:21:13+09:00[24479][info]: serf[24483]: Log data will now
> > stream in as it occurs:
> > 2015-01-07T09:21:13+09:00[24479][info]: serf[24483]:
> > 2015-01-07T09:21:13+09:00[24479][info]: serf[24483]: agent: Serf agent
> > starting
> > 2015-01-07T09:21:13+09:00[24479][info]: serf[24483]: serf:
> EventMemberJoin:
> > node2:10031/droonga [node2のIPアドレス]
> > 2015-01-07T09:21:13+09:00[24479][info]: serf[24483]: agent: Joining
> > cluster...(replay: false)
> > 2015-01-07T09:21:13+09:00[24479][info]: serf[24483]: agent: joining:
> > [node1] replay: false
> > 2015-01-07T09:21:13+09:00[24479][warn]: serf[24483]: agent: error
> joining:
> > dial tcp [node1のIPアドレス]:7946: connection refused
> > 2015-01-07T09:21:13+09:00[24479][warn]: serf[24483]: agent: Join failed:
> > dial tcp [node1のIPアドレス]:7946: connection refused, retrying in 30s
> > 2015-01-07T09:21:14+09:00[24479][info]: serf[24483]: agent: Received
> event:
> > member-join
> > 2015-01-07T09:21:15+09:00[24479][info]: serf[24483]: agent.ipc: Accepted
> > client: [node2のIPアドレス]:52964
> > 2015-01-07T09:21:16+09:00[24479][info]: serf[24483]: serf:
> EventMemberJoin:
> > node1:10031/droonga [node1のIPアドレス]
> > 2015-01-07T09:21:17+09:00[24479][info]: serf[24483]: agent: Received
> event:
> > member-join
> > 2015-01-07T09:21:17+09:00[24479][info]: serf[24483]: agent.ipc: Accepted
> > client: [node2のIPアドレス]:52965
> > 2015-01-07T09:21:20+09:00[24479][info]: serf[24483]: agent.ipc: Accepted
> > client: [node2のIPアドレス]:52966
> > 2015-01-07T09:21:20+09:00[24479][info]: serf[24483]: serf:
> EventMemberJoin:
> > node2/protocol-adapter [node2のIPアドレス]
> > 2015-01-07T09:21:21+09:00[24479][info]: serf[24483]: agent: Received
> event:
> > member-join
> > 2015-01-07T09:21:22+09:00[24479][info]: serf[24483]: agent.ipc: Accepted
> > client: [node2のIPアドレス]:52970
> > 2015-01-07T09:21:43+09:00[24479][info]: serf[24483]: agent: Joining
> > cluster...(replay: false)
> > 2015-01-07T09:21:43+09:00[24479][info]: serf[24483]: agent: joining:
> > [node1] replay: false
> > 2015-01-07T09:21:43+09:00[24479][info]: serf[24483]: agent: joined: 1
> nodes
> > 2015-01-07T09:21:43+09:00[24479][info]: serf[24483]: agent: Join
> completed.
> > Synced with 1 initial agents
> > 2015-01-07T09:21:59+09:00[24479][info]: serf[24483]: serf:
> > EventMemberLeave: node1:10031/droonga [node1のIPアドレス]
> > 2015-01-07T09:22:00+09:00[24479][info]: serf[24483]: agent: Received
> event:
> > member-leave
> > 2015-01-07T09:21:15+09:00[24485][info]: engine: live-nodes loaded
> > path="/home/droonga-engine/droonga/state/live-nodes.json"
> mtime=2015-01-07
> > 09:21:15 +0900
> > 2015-01-07T09:21:18+09:00[24485][info]: engine: live-nodes loaded
> > path="/home/droonga-engine/droonga/state/live-nodes.json"
> mtime=2015-01-07
> > 09:21:17 +0900
> > 2015-01-07T09:21:22+09:00[24485][info]: engine: live-nodes loaded
> > path="/home/droonga-engine/droonga/state/live-nodes.json"
> mtime=2015-01-07
> > 09:21:22 +0900
> > 2015-01-07T09:22:01+09:00[24485][info]: engine: live-nodes loaded
> > path="/home/droonga-engine/droonga/state/live-nodes.json"
> mtime=2015-01-07
> > 09:22:00 +0900
> > 2015-01-07T09:22:01+09:00[24485][error]: [24479] fluent-message-sender:
> > failed to connect to node1:10031
> > 2015-01-07T09:22:03+09:00[24485][error]: droonga-engine-service: failed
> to
> > run services: IOError: closed stream
> > 2015-01-07T09:22:03+09:00[24485][error]: droonga-engine-service:
> >
> /usr/local/lib/ruby/gems/2.1.0/gems/droonga-engine-1.0.9/lib/droonga/fluent_message_receiver.rb:130:in
> > `close'
> > 2015-01-07T09:22:03+09:00[24485][error]: droonga-engine-service:
> >
> /usr/local/lib/ruby/gems/2.1.0/gems/droonga-engine-1.0.9/lib/droonga/fluent_message_receiver.rb:130:in
> > `shutdown'
> > 2015-01-07T09:22:03+09:00[24485][error]: droonga-engine-service:
> >
> /usr/local/lib/ruby/gems/2.1.0/gems/droonga-engine-1.0.9/lib/droonga/fluent_message_receiver.rb:74:in
> > `shutdown_heartbeat_receiver'
> > 2015-01-07T09:22:03+09:00[24485][error]: droonga-engine-service:
> >
> /usr/local/lib/ruby/gems/2.1.0/gems/droonga-engine-1.0.9/lib/droonga/fluent_message_receiver.rb:45:in
> > `stop_gracefully'
> > 2015-01-07T09:22:03+09:00[24485][error]: droonga-engine-service:
> >
> /usr/local/lib/ruby/gems/2.1.0/gems/droonga-engine-1.0.9/lib/droonga/fluent_message_receiver.rb:53:in
> > `stop_immediately'
> > 2015-01-07T09:22:03+09:00[24485][error]: droonga-engine-service:
> >
> /usr/local/lib/ruby/gems/2.1.0/gems/droonga-engine-1.0.9/lib/droonga/command/droonga_engine_service.rb:224:in
> > `stop_immediately'
> > 2015-01-07T09:22:03+09:00[24485][error]: droonga-engine-service:
> >
> /usr/local/lib/ruby/gems/2.1.0/gems/droonga-engine-1.0.9/lib/droonga/command/droonga_engine_service.rb:165:in
> > `block in run_worker_process_agent'
> > 2015-01-07T09:22:03+09:00[24485][error]: droonga-engine-service:
> >
> /usr/local/lib/ruby/gems/2.1.0/gems/droonga-engine-1.0.9/lib/droonga/worker_process_agent.rb:116:in
> > `call'
> > 2015-01-07T09:22:03+09:00[24485][error]: droonga-engine-service:
> >
> /usr/local/lib/ruby/gems/2.1.0/gems/droonga-engine-1.0.9/lib/droonga/worker_process_agent.rb:116:in
> > `on_stop_immediately'
> > 2015-01-07T09:22:03+09:00[24485][error]: droonga-engine-service:
> >
> /usr/local/lib/ruby/gems/2.1.0/gems/droonga-engine-1.0.9/lib/droonga/worker_process_agent.rb:103:in
> > `block in create_output'
> > 2015-01-07T09:22:03+09:00[24485][error]: droonga-engine-service:
> >
> /usr/local/lib/ruby/gems/2.1.0/gems/droonga-engine-1.0.9/lib/droonga/worker_process_agent.rb:107:in
> > `call'
> > 2015-01-07T09:22:03+09:00[24485][error]: droonga-engine-service:
> >
> /usr/local/lib/ruby/gems/2.1.0/gems/droonga-engine-1.0.9/lib/droonga/worker_process_agent.rb:107:in
> > `block in create_output'
> > 2015-01-07T09:22:03+09:00[24485][error]: droonga-engine-service:
> > (eval):8:in `instance_exec'
> > 2015-01-07T09:22:03+09:00[24485][error]: droonga-engine-service:
> > (eval):8:in `on_close'
> > 2015-01-07T09:22:03+09:00[24485][error]: droonga-engine-service:
> > /usr/local/lib/ruby/gems/2.1.0/gems/cool.io-1.2.4/lib/
> cool.io/io.rb:112:in
> > `close'
> > 2015-01-07T09:22:03+09:00[24485][error]: droonga-engine-service:
> > /usr/local/lib/ruby/gems/2.1.0/gems/cool.io-1.2.4/lib/
> cool.io/io.rb:134:in
> > `rescue in on_readable'
> > 2015-01-07T09:22:03+09:00[24485][error]: droonga-engine-service:
> > /usr/local/lib/ruby/gems/2.1.0/gems/cool.io-1.2.4/lib/
> cool.io/io.rb:127:in
> > `on_readable'
> > 2015-01-07T09:22:03+09:00[24485][error]: droonga-engine-service:
> > /usr/local/lib/ruby/gems/2.1.0/gems/cool.io-1.2.4/lib/
> cool.io/io.rb:191:in
> > `on_readable'
> > 2015-01-07T09:22:03+09:00[24485][error]: droonga-engine-service:
> > /usr/local/lib/ruby/gems/2.1.0/gems/cool.io-1.2.4/lib/
> cool.io/loop.rb:88:in
> > `run_once'
> > 2015-01-07T09:22:03+09:00[24485][error]: droonga-engine-service:
> > /usr/local/lib/ruby/gems/2.1.0/gems/cool.io-1.2.4/lib/
> cool.io/loop.rb:88:in
> > `run'
> > 2015-01-07T09:22:03+09:00[24485][error]: droonga-engine-service:
> >
> /usr/local/lib/ruby/gems/2.1.0/gems/droonga-engine-1.0.9/lib/droonga/command/droonga_engine_service.rb:120:in
> > `run_services'
> > 2015-01-07T09:22:03+09:00[24485][error]: droonga-engine-service:
> >
> /usr/local/lib/ruby/gems/2.1.0/gems/droonga-engine-1.0.9/lib/droonga/command/droonga_engine_service.rb:56:in
> > `run'
> > 2015-01-07T09:22:03+09:00[24485][error]: droonga-engine-service:
> >
> /usr/local/lib/ruby/gems/2.1.0/gems/droonga-engine-1.0.9/lib/droonga/command/droonga_engine_service.rb:32:in
> > `run'
> > 2015-01-07T09:22:03+09:00[24485][error]: droonga-engine-service:
> >
> /usr/local/lib/ruby/gems/2.1.0/gems/droonga-engine-1.0.9/bin/droonga-engine-service:20:in
> > `<top (required)>'
> > 2015-01-07T09:22:03+09:00[24485][error]: droonga-engine-service:
> > /usr/local/bin/droonga-engine-service:23:in `load'
> > 2015-01-07T09:22:03+09:00[24485][error]: droonga-engine-service:
> > /usr/local/bin/droonga-engine-service:23:in `<main>'
> >
> > --
> > 瀬戸
> > _______________________________________________
> > groonga-dev mailing list
> > groon****@lists*****
> > http://lists.sourceforge.jp/mailman/listinfo/groonga-dev
> >
>
> --
> 結城 洋志 <YUKI Hiroshi>
> E-mail: yuki****@clear*****
>
> 株式会社クリアコード
> 〒170-0005 東京都豊島区南大塚3-29-9
>            中野ビル3階
> TEL : 03-5927-9440
> FAX : 03-5927-9441
> WWW : http://www.clear-code.com/
>
> _______________________________________________
> groonga-dev mailing list
> groon****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/groonga-dev
>



-- 
-----------------------------------------------------------
瀬戸隆太
E-mail: rseto****@gmail*****
-----------------------------------------------------------



groonga-dev メーリングリストの案内
Back to archive index