sql >> データベース >  >> NoSQL >> MongoDB

docker-composeを使用してレプリカが設定されたmongoコンテナーを実行できません

    起動スクリプトは、レプリカセットを初期化または監視しないでください。それらは手動タスクである必要があります。

    次の点に注意してください。

    • レプリカセットの開始は、厳密には1回限りの作業です。開始されると、MongoDBサービスは再起動されたときに、同じレプリカセットの一部であり続けます。
    • レプリカセットには通常、交換可能な複数のノードが含まれています。それぞれが起動時にレプリカセットを初期化しようとすると、エラーがスローされます
    • サービスの再開は正常であり、予想される動作です。たとえば、MongoDBの次のバージョンにアップグレードするとき、サーバーホストへのパッチが再起動を必要とした後、または停電後
    • スクリプトがMongoDBサービスを開始するたびに、すでに初期化されているレプリカセットを初期化しようとすると、エラーがスローされます

    次の3つの変更を行うことを強くお勧めします。

    1. レプリカセットを開始および監視する手順を実行せずに、mongoコンテナでmongoを実行するだけにします。
    2. レプリカセットを実行する場合は、慎重に、制御された手動で開始します。ノードを追加/削除したり、再構成したりする場合も同様です。
    3. レプリカセットの状態を監視する場合は、別のツールを使用して監視します。モンゴサービスに通常の仕事をさせましょう。


    1. MacOSSierraでOpenSSLが見つかりません

    2. PyMongoを使用した連結配列が不明なグループ演算子'$concatArrays'で失敗しました

    3. インデックスを追加した後でもmongodbgroupbyが遅い

    4. Stackexchange.redisにはWAITサポートがありません