6

現在、2 つのフル メンバーと 1 つのアービターを含むレプリカ セットがあります。ここで、調停者を正会員に昇格させる必要があります。これについて最も簡単な方法は何ですか?遊べるサーバーがこれ以上ないので、入手したマシンでこれを行う必要があります。

4

1 に答える 1

7

私があなたを正しく理解していれば、アービターを同じハードウェア上の完全なmongoサーバーに変換したいと考えています。最初に考慮すべきことは、アービター ハードウェアがデータベースをサポートできるかどうかです。アービターのハードウェアが他の 2 つのノードよりもはるかに少ない場合、これはおそらくうまくいきません。多くのアービターは、完全なデータベースをサポートできないマシンで実行されます。これを行う場合は、マシンを最初から完全なノードとしてセットアップする必要があります。アービターを完全なメンバーに自動的に昇格させる方法はありません。

これを行うには: 1) まず、アービターで mongod プロセスをシャットダウンする必要があります。次に、データディレクトリをチェックして、データを保持できることを確認することができます。アービターには何もありませんでした。 2) mongo シェルを使用してプライマリに接続します。不明な場合は、シェルで db.isMaster() を使用して、どのノードがプライマリであるかを確認できます。3) rs.remove("") を使用して、セットから削除します。4) 新しい mongo サーバーを起動します。データ ディレクトリが空であることを確認します (レプリカ セットからコピーされます)。コマンドは mongod --dbpath --replSet のようなものです。構成によっては、他のオプションがある場合があります。5) プライマリで rs.add() を実行します。 6) rs.conf() を呼び出して、構成が適切であることを確認します。

補足として、初期同期に rsync を使用して、新しいノードとプライマリの間でデータ ディレクトリを同期することもできます。ただし、データが小さい場合は、mongo を実行するだけで簡単になります。rsync を使用する必要がある場合は、すべての要件についてドキュメントを参照してください。 http://docs.mongodb.org/manual/tutorial/expand-replica-set/

他にご不明な点がございましたら、お気軽にお問い合わせください。

ベスト、チャーリー

于 2013-09-12T20:38:20.923 に答える