必要なコマンドの操作を練習するためだけに、ローカルホストにレプリカ セットをセットアップしています。家でも職場でもやっています。自宅では、rs.initiate()コマンドの実行に約 3 秒かかり、 が または のすべての状態を表示するのにさらに 2 ~ 3 分かかりrs.status()ます。これは私が期待したことについてです。PRIMARYSECONDARY
しかし、私が職場でそれを行うとrs.initiate()、mongo シェルでプロンプトを返すだけで約 7 分かかり、状態が allPRIMARYまたはになるまでにさらに 10 分かかりSECONDARYます。その間、私が接続を開始したのはSECONDARYまたはPRIMARYで、他の 2 つはRECOVERINGです。RECOVERING彼らはそこに 10 分間座っているだけです。
rs.initiate()コマンドが実行されている間、mongod私が接続した (ポート 10001) は、「データファイルの割り当て」、「データファイルの割り当て完了」、「新しいデータファイルの割り当て」などを吐き出し続けます。それらのファイルの。他の2つは、「replSetはlocal.system.replset configをselfまたはシード(EMPTYCONFIG)から取得できません」という状態でずっとそこに座っています。
私がチェックしている間rs.status()、2 つのセカンダリは、最初のステップでプライマリが行うのと同じように、接続を受け入れてドロップし、データファイルを割り当て続けます。
では、こんなに時間がかかるのでしょうか?もしそうなら、自宅の私のマシンが数秒でそれを行うのはなぜですか? 唯一の違いは、私が自宅で実行しているものは 64 ビットではなく 32 ビットであることです。