2017-06-06 13 views
0

すべて、Mongo sync:同期を停止または停止しますか?

私は、以下の設定と同じマシンに28002のポート28001とM_secに私は2つのmongoプロセスを実行さらにreplicaSetセットアップ、M_priを持っている:

"_id" : "myReplSet", 
    "version" : 1, 
    "protocolVersion" : NumberLong(1), 
    "members" : [ 
      { 
        "_id" : 0, 
        "host" : "localhost:28001", 
        "arbiterOnly" : false, 
        "buildIndexes" : true, 
        "hidden" : false, 
        "priority" : 1, 
        "slaveDelay" : NumberLong(0), 
        "votes" : 1 
      }, 
      { 
        "_id" : 1, 
        "host" : "localhost:28002", 
        "arbiterOnly" : false, 
        "buildIndexes" : true, 
        "hidden" : true, 
        "priority" : 0, 
        "slaveDelay" : NumberLong(0), 
        "votes" : 1 
      } 
    ], 
    "settings" : { 
      "chainingAllowed" : true, 
      "heartbeatIntervalMillis" : 2000, 
      "heartbeatTimeoutSecs" : 10, 
      "electionTimeoutMillis" : 10000, 
      "catchUpTimeoutMillis" : 2000, 
      "getLastErrorModes" : { 

      }, 
      "replicaSetId" : ObjectId("593565b0ebd8ca36a07c6576") 
    } 

このセットアップのための意図はあるに毎日のmongodump(gunzip)をM_secから外します。 mongodumpの実行中、M_priの書き込みと読み取りを行うプロセスがあるので、システム全体が遅くなります。

M_secからmongodumpをやっているときに、プライマリからセカンダリのmongoへの同期を止める方法はありますか?

おかげ

答えて

1

あなたは遅れメンバー(https://docs.mongodb.com/manual/core/replica-set-delayed-member/#replica-set-delayed-members)するM_secを設定することができますので、遅れてM_priから複製されます。心に留めておくべき もの:

  • 優先度0のメンバーでなければなりません:

    遅れメンバーが

    要件。遅延メンバーがプライマリになるのを防ぐには、優先順位を0に設定します。

  • 非表示のメンバーである必要があります。常にアプリケーションに表示されないようにしてください。遅延メンバーには が照会されます。メンバー[n]は.votesが1

動作に設定されている場合 が主のために選挙で投票を行い、

遅れメンバーは、コピーして 遅延上のソースoplogからの操作を適用します。

  • があなたの予想メンテナンスウィンドウ期間以上でなければならない:遅延量を選択する際、 遅延量があると考えます。
  • は、oplogの容量より小さくする必要があります。 oplogのサイズの詳細については、Oplogのサイズを参照してください。

設定例:

{ 
    "_id" : <num>, 
    "host" : <hostname:port>, 
    "priority" : 0, 
    "slaveDelay" : <seconds>, 
    "hidden" : true 
} 
関連する問題