2016-04-09 11 views
-1

私はAWSで4つのインスタンスを作成し、任意の人間の相互作用せずにそれらの上にrethinkdbクラスタを展開することになっ自動化スクリプトを書いているの作成。文書によると、私は、コマンドラインで--joinパラメータを使用するか、設定ファイルのjoin文を置くのいずれかが必要です。私は、クラスタまたは私は、クラスタノードのいずれかを再起動するたびに作成するために、一度だけjoinを指定する必要がある場合は、私が理解していないことはありますか?rethinkdbクラスタ

現時点で理解しておいていただきたいのは、クラスタ構成が何らかの形でメタデータに格納され、次回は--joinパラメータなしでrethinkdbを起動するだけで、残りのクラスタに再接続することです。しかし、いつ設定ファイルにjoinオプションが必要ですか?

これが真の場合、--joinオプションを使用してrethinkdbをスクリプト内で起動し、シャットダウンしてからもう一度--joinを付けずに再起動する必要がありますか?これはそれを行う正しい方法ですか、より良い選択肢がありますか?

+0

私はdownvotersからいくつかの説明をいただければ幸いです。 – dtoux

+0

私はダウンボートしませんでしたが、これはあなたの開発マシンでテストするのはかなり簡単です。 '-o 1 -d/some/other/path -j localhost:29015'で2番目のインスタンスを実行してから停止し、結合せずにもう一度実行して、ポート8080と8081の管理インターフェースで何が起こるかを見てください。 – analytik

+0

@analytik、これは私がやったことですが、私はここで簡単な答えを期待していました:-) – dtoux

答えて

1

次の再起動時にコマンドラインから--joinを指定する必要はありません。クラスタを検出して再接続を試みます。クラスタ状態の一部は、システムテーブルserver_configに格納されます。あなたは、このノード上のデータディレクトリを一掃

場合でも、他のノードがそのノードについての情報を有していてもよく、それに接続しようとしますので、まだクラスタを形成することができるかもしれません。しかし、他のノードがこの特定のサーバに関する情報を保存していない場合、またはこの特定のノードが何らかの理由で再起動して新しいIPアドレスを持っていて、そのデータディレクトリも消去された場合、今回はクラスタは新しいIPアドレスで)。

だから、私はいつも--joinをspecifiingます。それは傷つけません。また、最悪の場合、新しいノードをクラスタに再び参加させることができます。

関連する問題