MongoDB - 复制方法

MongoDB - 复制方法 首页 / MongoDB入门教程 / MongoDB - 复制方法

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

 rs.add(host,arbiterOnly)

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

示例:

在以下示例中,无涯教程将添加具有默认新辅助成员。

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

主机名

rs.add( "mongodbd4.example.net:27017" )
MongoDB Replication Methods

rs.addArb(host)

无涯教程可以将新的仲裁器添加到指定主机上的现有副本集。

示例  - 添加到关联主机名

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
MongoDB Replication Methods

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>
  }
}

输出:

MongoDB Replication Methods

rs.initiate(config)

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

输出:

MongoDB Replication Methods

rs.reconfig(configuration,force)

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

链接:https://www.learnfk.comhttps://www.learnfk.com/mongodb/mongodb-replication-methods.html

来源:LearnFk无涯教程网

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

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

从0开始学大数据 -〔李智慧〕

Flutter核心技术与实战 -〔陈航〕

研发效率破局之道 -〔葛俊〕

Serverless入门课 -〔蒲松洋(秦粤)〕

分布式数据库30讲 -〔王磊〕

分布式金融架构课 -〔任杰〕

手把手带你写一个Web框架 -〔叶剑峰〕

AI大模型之美 -〔徐文浩〕

AI绘画核心技术与实战 -〔南柯〕

好记忆不如烂笔头。留下您的足迹吧 :)