MongoDB 复制方法
MongoDB复制方法用于将成员复制到副本集。
rs.add(host,arbiterOnly)
add方法将成员添加到指定的副本集。我们需要连接到副本集的主要集合才能使用此方法。如果此方法触发了关于主要内容的选举,则连接到shell将被终止。例如-如果我们试图添加一个优先级高于主要的新成员。即使操作成功,mongo shell也会反映出错。
示例:
在下面的示例中,我们将添加一个具有默认投票的新次要成员。
rs.add( { host: "mongodbd4.example.net:27017" } )
主机名
rs.add( "mongodbd4.example.net:27017" )
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
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")
}
}