droonga-engine-set-role

概要

droonga-engine-set-roleは、あるDroonga Engineノードのロールを任意のロールに変更します。

Droonga Engineノードは、流入してきたメッセージを自分で処理するかどうかを、メッセージのtargetRoleフィールドの値に基づいて決定します。 droonga-engine-joinコマンドは操作対象のノードのロールを変更しますが、もし操作が意図せず中断されてしまった場合、それらのノードはサービス提供用としては無効化されたままになってしまうことがあります。 そのような場合には、このコマンドを使ってそれらのノードのロールを適切に変更することで、ノードを再度有効化できます。

例えば、新たに追加されるreplicaノードのためのデータコピー元として使われた192.168.100.50というDroonga Engineノードがあり、同一ネットワークセグメント内のコンピュータ192.168.100.10にログインしている場合、192.168.100.50を再度有効化するコマンド列は以下のようになります:

(on 192.168.100.10)
$ droonga-engine-set-role --host 192.168.100.50 \
                          --role service-provider
Setting role of 192.168.100.50:10031/droonga to service-provider...
Done.

Droongaクラスタに新しいreplicaノードを追加する操作についてのチュートリアルも併せて参照して下さい。

パラメータ

--role=ROLE
対象Engineノードのための新しいロール。 このパラメータは必須です。 取り得る値:
  • service-provider: ノードはサービス提供用として有効化されます。
  • absorb-source: ノードはサービス提供用として無効化され、データのコピー元に設定されます。
  • absorb-destination: ノードはサービス提供用として無効化され、データのコピー先に設定されます。
--host=NAME
ロールを変更するEngineノードのホスト名。 既定値は、コマンドを実行しているコンピュータ自身の推測されたホスト名です。
--port=PORT
Engineノードとの通信に使うポート番号。 既定値は10031です。

この値は、実際にはこの操作の処理のためには使われませんが、ノード自体を識別するために使われます。

--tag=TAG
Engineノードとの通信に使うタグ名。 既定値はdroongaです。

この値は、実際にはこの操作の処理のためには使われませんが、ノード自体を識別するために使われます。

--verbose
内部的な操作の詳細を出力します。 主にデバッグ用のオプションです。
-h, --help
コマンドの使い方の説明を表示します。

インストール方法

このコマンドは、Rubygemsのパッケージdroonga-engineの一部としてインストールされます。

# gem install droonga-engine