droonga-system-statusは、Droongaクラスタの現在の状態を報告します。
例えば、192.168.100.50というDroonga Engineノードがあり、同一ネットワークセグメント内のコンピュータ192.168.100.10にログインしている場合、クラスタの状態を報告するコマンド列は以下のようになります:
(on 192.168.100.10)
$ droonga-system-status --host 192.168.100.50 --receiver-host 192.168.100.10 --pretty
{
"nodes": {
"node0:10031/droonga": {
"status": "active"
},
"node1:10031/droonga": {
"status": "active"
}
},
"reporter": "node0:55329/droonga @ node0:10031/droonga"
}
このコマンドは、typeがsystem.statusであるメッセージをdroonga-requestを用いて送信する操作を簡単に行う物です。
上記コマンド列によってもたらされる結果は、以下のコマンド列の結果と実質的に同一です:
(on 192.168.100.10)
$ echo '{"type":"system.status"}' |
droonga-request --report-request --host 192.168.100.50 --receiver-host 192.168.100.10
Request: {
"type": "system.status",
"id": "1430963525.9829412",
"date": "2015-05-07T02:39:50.334377Z",
"dataset": "Default"
}
Elapsed time: 0.00900742
{
"inReplyTo": "1430963525.9829412",
"statusCode": 200,
"type": "system.status.result",
"body": {
"nodes": {
"node0:10031/droonga": {
"status": "active"
},
"node1:10031/droonga": {
"status": "active"
}
},
"reporter": "node0:55329/droonga @ node0:10031/droonga"
}
}
system.statusコマンドのリファレンスも併せて参照して下さい。
--pretty--host=NAME--port=PORT10031です。--tag=TAGdroongaです。--dataset=NAMEDefaultです。--receiver-host=NAME--target-role=ROLEservice-provider:
メッセージは、クラスタ内でサービスを提供中のノードで処理されます。
データ抽出操作に関わるノードには、後から遅れてメッセージが伝搬します。absorb-source:
メッセージは、クラスタへのノード追加操作におけるデータコピー元となっているノードで処理されます。
サービスを提供中のノード、並びにデータコピー先となっているノードへは、メッセージは伝搬しません。absorb-destination:
メッセージは、クラスタへのノード追加操作におけるデータコピー先となっているノードで処理されます。
サービスを提供中のノード、並びにデータコピー元となっているノードへは、メッセージは伝搬しません。any:
メッセージは、--hostで指定されたノードで処理されます。既定値はanyです。
--timeout=SECONDS3です。-h, --helpこのコマンドは、Rubygemsのパッケージdroonga-clientの一部としてインストールされます。
# gem install droonga-client