2017-11-26 7 views
0

Mongo db内にレプリカセットを作成したばかりで、cmdウィンドウをオフにしたり、ctrl + cを入力したときに不思議に思ってレプリカセットを再度実行したい場合はどうしたらいいですか?それを行う ?どのステップが必要ですか?うまくいけば、私はrsを作成する際に何度もやり直す必要はないでしょうか?レプリケーションセットを再起動するMongoDB

ありがとうございます。

ここは私が持っているものです。

MongoDB Enterprise > rs.status() 
{ 
    "set" : "rs0", 
    "date" : ISODate("2017-11-26T03:14:48.098Z"), 
    "myState" : 1, 
    "term" : NumberLong(2), 
    "heartbeatIntervalMillis" : NumberLong(2000), 
    "optimes" : { 
      "lastCommittedOpTime" : { 
        "ts" : Timestamp(1511666085, 1), 
        "t" : NumberLong(2) 
      }, 
      "appliedOpTime" : { 
        "ts" : Timestamp(1511666085, 1), 
        "t" : NumberLong(2) 
      }, 
      "durableOpTime" : { 
        "ts" : Timestamp(1511666085, 1), 
        "t" : NumberLong(2) 
      } 
    }, 
    "members" : [ 
      { 
        "_id" : 0, 
        "name" : "mario:27017", 
        "health" : 1, 
        "state" : 1, 
        "stateStr" : "PRIMARY", 
        "uptime" : 818, 
        "optime" : { 
          "ts" : Timestamp(1511666085, 1), 
          "t" : NumberLong(2) 
        }, 
        "optimeDate" : ISODate("2017-11-26T03:14:45Z"), 
        "electionTime" : Timestamp(1511665273, 1), 
        "electionDate" : ISODate("2017-11-26T03:01:13Z"), 
        "configVersion" : 7, 
        "self" : true 
      }, 
      { 
        "_id" : 1, 
        "name" : "mario:27018", 
        "health" : 1, 
        "state" : 2, 
        "stateStr" : "SECONDARY", 
        "uptime" : 804, 
        "optime" : { 
          "ts" : Timestamp(1511666085, 1), 
          "t" : NumberLong(2) 
        }, 
        "optimeDurable" : { 
          "ts" : Timestamp(1511666085, 1), 
          "t" : NumberLong(2) 
        }, 
        "optimeDate" : ISODate("2017-11-26T03:14:45Z"), 
        "optimeDurableDate" : ISODate("2017-11-26T03:14:45Z"), 
        "lastHeartbeat" : ISODate("2017-11-26T03:14:46.565Z"), 
        "lastHeartbeatRecv" : ISODate("2017-11-26T03:14:46.575Z"), 
        "pingMs" : NumberLong(0), 
        "syncingTo" : "mario:27017", 
        "configVersion" : 7 
      }, 
      { 
        "_id" : 2, 
        "name" : "mario:27019", 
        "health" : 1, 
        "state" : 7, 
        "stateStr" : "ARBITER", 
        "uptime" : 39, 
        "lastHeartbeat" : ISODate("2017-11-26T03:14:46.570Z"), 
        "lastHeartbeatRecv" : ISODate("2017-11-26T03:14:47.762Z"), 
        "pingMs" : NumberLong(0), 
        "configVersion" : 7 
      } 
    ], 
    "ok" : 1 

}

答えて

0

あなたはすべてのサーバーをシャットダウンした場合は、再度、サーバを再起動した場合、彼らは最後の状態から続けるように、レプリケーションの設定がまだ存在します。 以前の設定と同じ設定が必要な場合は、すべてを再設定する必要はありません。

--replSetパラメータを使用してmongoサーバーを起動する必要があります。最初の起動方法と同じです。

のmongod --replSet "RS0"

+0

私はこれが正しい答えだと思います。私は/ data/dbフォルダにdbを設定しないという別の問題があることに気がつきました。複製は自動的に行われます。プライマリdbに書き込むと、自動的にセカンダリに複製されますか? – commandos2389

+0

はい、サーバーを起動すると、レプリケーションはすべてのセカンダリサーバーにドキュメントを自動的にレプリケートします。 –

関連する問題