起動スクリプトは、レプリカセットを初期化または監視しないでください。それらは手動タスクである必要があります。
次の点に注意してください。
- レプリカセットの開始は、厳密には1回限りの作業です。開始されると、MongoDBサービスは再起動されたときに、同じレプリカセットの一部であり続けます。
- レプリカセットには通常、交換可能な複数のノードが含まれています。それぞれが起動時にレプリカセットを初期化しようとすると、エラーがスローされます
- サービスの再開は正常であり、予想される動作です。たとえば、MongoDBの次のバージョンにアップグレードするとき、サーバーホストへのパッチが再起動を必要とした後、または停電後
- スクリプトがMongoDBサービスを開始するたびに、すでに初期化されているレプリカセットを初期化しようとすると、エラーがスローされます
次の3つの変更を行うことを強くお勧めします。
- レプリカセットを開始および監視する手順を実行せずに、mongoコンテナでmongoを実行するだけにします。
- レプリカセットを実行する場合は、慎重に、制御された手動で開始します。ノードを追加/削除したり、再構成したりする場合も同様です。
- レプリカセットの状態を監視する場合は、別のツールを使用して監視します。モンゴサービスに通常の仕事をさせましょう。