我已将mongolab实例添加到副本集中。 rs.status()看起来像这样:
{
"_id" : 2,
"name" : "*****.mongolab.com:*****",
"health" : 0,
"state" : 6,
"stateStr" : "(not reachable/healthy)",
"uptime" : 0,
"optime" : Timestamp(0, 0),
"optimeDate" : ISODate("1970-01-01T00:00:00Z"),
"lastHeartbeat" : ISODate("2014-06-04T14:14:01Z"),
"lastHeartbeatRecv" : ISODate("1970-01-01T00:00:00Z"),
"pingMs" : 141,
"authenticated" : false
}
如何授权mongolab实例?
答案 0 :(得分:1)
好的 - 首先关闭永远不要创建一个由2个成员组成的副本 - 如果你失去了一个,你将失去法定人数并且无法写信给幸存的成员。您至少需要3名成员,并且应始终是奇数个投票成员。如果您不想要3份数据副本,可以使用仲裁者作为其中一名成员。
http://docs.mongodb.org/manual/tutorial/deploy-replica-set/
更重要的是,我不相信你可以做你想做的事。作为副本集成员的MongoDB实例需要使用--replicaset""然后在用rs.initialize()初始化第一个成员后通过rs.add()添加到副本集。
MongoLab提供共享主机,并且他们的大部分单实例计划都不是副本集,因此我不知道如何以这种方式添加它们。
我认为可以从MongoLab的副本集计划开始,然后从本地系统添加新成员,但我还没有尝试过。在尝试之前,我会直接询问他们是否支持,应该节省您的时间和金钱。无论如何,MongoLab的副本集计划每个月的成本远高于他们的单个共享计划,所以请记住这一点。