droonga-engine-join

概要

droonga-engine-joinは、孤立したDroonga Engineノードを既存のDroongaクラスタに新たなreplicaノードとして参加させます。

例えば、既存クラスタのreplicaノードとなっている192.168.100.50というDroonga Engineノードがあり、同一ネットワークセグメント内の事前設定済みの孤立したDroonga Engineノード192.168.100.10にログインしている場合、192.168.100.10をクラスタに新たなreplicaノードとして参加させるコマンド列は以下のようになります:

(on 192.168.100.10)
$ droonga-engine-join --host 192.168.100.10 \
                      --receiver-host 192.168.100.10 \
                      --replica-source-host 192.168.100.50
Start to join a new node 192.168.100.10
       to the cluster of 192.168.100.50
                     via 192.168.100.10 (this host)
    port    = 10031
    tag     = droonga
    dataset = Default

Source Cluster ID: 8951f1b01583c1ffeb12ed5f4093210d28955988

Changing role of the joining node...
Configuring the joining node as a new replica for the cluster...
Registering new node to existing nodes...
Changing role of the source node...
Getting the timestamp of the last processed message in the source node...
The timestamp of the last processed message at the source node: 2015-05-07T02:39:50.334377Z
Setting new node to ignore messages older than the timestamp...
Copying data from the source node...
100% done (maybe 00:00:00 remaining)
Restoring role of the source node...
Restoring role of the joining node...
Done.

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

パラメータ

--no-copy
コピー元ノードからデータをコピーしない。 このオプションを指定した場合、ノードはデータを同期されずにそのままreplicaノードとしてクラスタに追加されます。
--host=NAME
クラスタに参加する新しいEngineノードのホスト名。 このパラメータは必須です。
--replica-source-host=NAME
新たにノードを参加させるクラスタ内でデータのコピー元にするノードのホスト名。 このパラメータは必須です。
--port=PORT
各Engineノードとの通信に使うポート番号。 既定値は10031です。
--tag=TAG
各Engineノードとの通信に使うタグ名。 既定値はdroongaです。
--dataset=NAME
新たなノードをreplicaとして参加させる対象のデータセットの名前。 既定値はDefaultです。
--receiver-host=NAME
このコマンドを実行しているコンピュータのホスト名。 既定値は、そのコンピュータのホスト名として推測される名前です。
--records-per-second=N
1秒間にコピーするレコードの最大数。 -1を指定した場合、”無制限”を意味します。 既定値は100です。
--progress-interval-seconds=SECONDS
データコピーの進捗を報告する間隔の秒数。 既定値は3です。
--verbose
内部的な操作の詳細を出力します。 主にデバッグ用のオプションです。
-h, --help
コマンドの使い方の説明を表示します。

インストール方法

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

# gem install droonga-engine