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
service-provider
:
ノードはサービス提供用として有効化されます。absorb-source
:
ノードはサービス提供用として無効化され、データのコピー元に設定されます。absorb-destination
:
ノードはサービス提供用として無効化され、データのコピー先に設定されます。--host=NAME
--port=PORT
10031
です。
この値は、実際にはこの操作の処理のためには使われませんが、ノード自体を識別するために使われます。
--tag=TAG
droonga
です。
この値は、実際にはこの操作の処理のためには使われませんが、ノード自体を識別するために使われます。
--verbose
-h
, --help
このコマンドは、Rubygemsのパッケージdroonga-engine
の一部としてインストールされます。
# gem install droonga-engine