MongoDB Replication副本集方法

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

一、rs.add(host, arbiterOnly)

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

例子:

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

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

hostname:

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

二、rs.addArb(host)

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

例子:

将仲裁器添加到 Associated-Hostname

mongod --bind_ip localhost,My-Example-<Associated-Hostname> 

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

mongo --host My-Example-<Associated-Hostname>  
mongo --host 198.52.100.2 

三、rs.conf()

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

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

例子:

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

{  
  _id: <string>,  
  version: <int>,  
  protocolVersion: <number>,  
  writeConcernMajorityJournalDefault: <boolean>,  
  configsvr: <boolean>,  
  members: [  
    {  
      _id: <int>,  
      host: <string>,  
      arbiterOnly: <boolean>,  
      buildIndexes: <boolean>,  
      hidden: <boolean>,  
      priority: <number>,  
      tags: <document>,  
      slaveDelay: <int>,  
      votes: <number>  
                        }, ], settings: {  
    chainingAllowed : <boolean>,  
    heartbeatIntervalMillis : <int>,  
    heartbeatTimeoutSecs: <int>,  
    electionTimeoutMillis : <int>,  
    catchUpTimeoutMillis : <int>,  
    getLastErrorModes : <document>,  
    getLastErrorDefaults : <document>,  
    replicaSetId: <ObjectId>  
  }  
}  

四、rs.initiate(configuration)

该方法启动一个副本集。此方法可以考虑保存副本集的 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" }  
   ]  
} 

五、rs.reconfig(configuration, force)

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

例子:

名为 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")  
   }  
}  

 

热门文章

优秀文章