i刚刚在mongo db中创建了副本集,当关闭cmd窗口或键入ctrl c时,我很好奇,因此,如果我想再次运行副本集,我要这样做吗?需要哪些步骤?希望我不必再开始创建Rs?
谢谢。
这就是我得到的。
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
}
如果关闭所有服务器,复制配置仍将存在,以便如果您再次重新启动服务器,则它们将从上一个状态继续。如果您想要像以前的设置相同的设置,则不必再次重新配置所有内容。
您只需要使用 - REPLSET 参数启动Mongo服务器。
mongod -replset" rs0"
以下是重新启动mongoDB副本集的步骤。首先从次级节点开始
次级节点
step-1 登录辅助服务器上的Mongo Shell
$ mongo -u user123 -p --authenticationDatabase admin
(如果您的数据库已启用了身份验证)
step-2 使用以下命令:
停止辅助服务器> use admin
> db.shutdownServer()
步骤3 转到辅助服务器上的Linux Shell,然后在下面输入命令:
> sudo service mongod stop
启动MongoDB复制
步骤4 转到辅助服务器上的Linux Shell,在下面输入命令:
> sudo service mongod start
步骤5 检查状态
> sudo systemctl status mongod.service
对于主要节点
step-1 登录至主,如 step-1
step-2 逐步降低主节点
> rs.stepDown(120)
将mongo shell连接到主节点,并使用 rs.stepDown()
逐步降低主节点,并允许选举新的次要的一个。指定120秒的等待期,以防止成员再次当选。
表演 step-2 , step-3 , step-4 和 step-5 。p>