📜  MongoDB复制方法

📅  最后修改于: 2020-11-23 01:28:40             🧑  作者: Mango

MongoDB复制方法

MongoDB复制方法用于将成员复制到副本集。

#1 rs.add(主机,仅限arbiter)

add方法将成员添加到指定的副本集。我们需要将此方法连接到副本集的主集。如果该方法将触发主要对象的选举,则将终止与Shell的连接。例如-如果我们尝试添加一个优先级高于主要成员的新成员。即使操作成功,mongo shell也会反映出错误。

例:

在以下示例中,我们将添加具有默认投票的新辅助成员。

rs.add( { host: "mongodbd4.example.net:27017" } )

主机名

rs.add( "mongodbd4.example.net:27017" )

#2。 rs.addArb(主机)

我们可以将新的仲裁器添加到指定主机上的现有副本集。

将仲裁器添加到关联主机名

mongod --bind_ip localhost,My-Example-

如果要连接到此实例,则远程客户端必须指定主机名或其关联的IP地址198.52.100.2:

mongo --host My-Example-
mongo --host 198.52.100.2

#3。 rs.conf()

conf方法用于获取包含当前副本集配置的文档。

rs.conf()包装replSetGetConfig命令配置。

以下脚本显示了副本集的配置文档,其中包括这些设置的子集:

{
  _id: ,
  version: ,
  protocolVersion: ,
  writeConcernMajorityJournalDefault: ,
  configsvr: ,
  members: [
    {
      _id: ,
      host: ,
      arbiterOnly: ,
      buildIndexes: ,
      hidden: ,
      priority: ,
      tags: ,
      slaveDelay: ,
      votes: 
                        }, ], settings: {
    chainingAllowed : ,
    heartbeatIntervalMillis : ,
    heartbeatTimeoutSecs: ,
    electionTimeoutMillis : ,
    catchUpTimeoutMillis : ,
    getLastErrorModes : ,
    getLastErrorDefaults : ,
    replicaSetId: 
  }
}

输出:

#4。 rs.initiate(配置)

该方法启动副本集。此方法可以考虑保存副本集的rs.initiate()配置的文档,但这是可选的。

下面的示例使用三个不同的成员启动一个新的副本集。

   {
      _id: "JTPReplSet",
      version: 1,
      members: [
         { _id: 0, host : "mongodb0.example.net:27017" },
         { _id: 1, host : "mongodb1.example.net:27017" },
         { _id: 2, host : "mongodb2.example.net:27017" }
      ]
   }
)

输出:

#5。 rs.reconfig(配置,强制)

顾名思义,该方法用于重新配置现有副本集。它将覆盖所有现有的副本集配置。我们必须连接到主副本集才能运行此方法。

例子

名为rs0的副本集具有以下配置:

{
   "_id" : "rs0",
   "version" : 1,
   "protocolVersion" : NumberLong(1),
   "members" : [
      {
         "_id" : 0,
         "host" : "mongodb0.example.net:27017",
         "arbiterOnly" : false,
         "buildIndexes" : true,
         "hidden" : false,
         "priority" : 1,
         "tags" : {

         },
         "slaveDelay" : NumberLong(0),
         "votes" : 1
      },
      {
         "_id" : 1,
         "host" : "mongodb1.example.net:27017",
         "arbiterOnly" : false,
         "buildIndexes" : true,
         "hidden" : false,
         "priority" : 1,
         "tags" : {

         },
         "slaveDelay" : NumberLong(0),
         "votes" : 1
      },
      {
         "_id" : 2,
         "host" : "mongodb2.example.net:27017",
         "arbiterOnly" : false,
         "buildIndexes" : true,
         "hidden" : false,
         "priority" : 1,
         "tags" : {

         },
         "slaveDelay" : NumberLong(0),
         "votes" : 1
      }
   ],
   "settings" : {
      "chainingAllowed" : true,
      "heartbeatIntervalMillis" : 2000,
      "heartbeatTimeoutSecs" : 10,
      "electionTimeoutMillis" : 10000,
      "catchUpTimeoutMillis" : 2000,
      "getLastErrorModes" : {

      },
      "getLastErrorDefaults" : {
         "w" : 1,
         "wtimeout" : 0
      },
      "replicaSetId" : ObjectId("58858acc1f5609ed986b641b")
   }
}