重新启动复制集MongoDB

时间:2017-11-26 03:34:10

标签: mongodb windows-10

我刚刚在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

}

2 个答案:

答案 0 :(得分:0)

如果关闭所有服务器,复制配置仍然存在,这样如果再次重新启动服务器,它们将从最后一个状态继续。 如果您需要与之前设置相同的设置,则无需再次重新配置所有内容。

您只需使用 - replSet 参数启动mongo服务器,方法与首次启动方式相同。

  

mongod --replSet“rs0”

答案 1 :(得分:0)

以下是重启 MongoDB 副本集的步骤。先从Secondary节点开始

对于辅助节点

步骤 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

对于主节点

第 1 步第 1 步

一样登录到主服务器

Step-2 下台主节点

> rs.stepDown(120)

将 mongo shell 连接到 主节点并使用 rs.stepDown() 下台主节点并允许其中一个辅助节点被选为新的主节点。指定 120 秒的等待时间,以防止该成员再次被选为主要成员。

执行step-2step-3step-4step-5。 >