我正在创建一个隐藏的辅助MongoDB实例,最终将用于报告。到目前为止,我采取了以下步骤:
replSet = mySet
启动我的主要实例(本地计算机)并调用rs.initiate()
replSet = mySet
rs.add("my.secondary.com")
priority = 0
hidden = true
和rs.reconfigure(cfg)
醇>
当我这样做并致电rs.status()
时,我得到以下输出:
{
"set": "mySet",
"date": ISODate("2016-03-22T16:40:39.515Z"),
"myState": 1,
"members": [
{
"_id": 0,
"name": "my-machine.local:27017",
"health": 1,
"state": 1,
"stateStr": "PRIMARY",
"uptime": 607,
"optime": Timestamp(1458664559, 1),
"optimeDate": ISODate("2016-03-22T16:35:59Z"),
"electionTime": Timestamp(1458664264, 2),
"electionDate": ISODate("2016-03-22T16:31:04Z"),
"configVersion": 3,
"self": true
},
{
"_id": 1,
"name": "my.secondary.com:27017",
"health": 1,
"state": 0,
"stateStr": "STARTUP",
"uptime": 384,
"optime": Timestamp(0, 0),
"optimeDate": ISODate("1970-01-01T00:00:00Z"),
"lastHeartbeat": ISODate("2016-03-22T16:40:38.332Z"),
"lastHeartbeatRecv": ISODate("1970-01-01T00:00:00Z"),
"pingMs": 106,
"configVersion": -2
}
],
"ok": 1
}
请注意,我的辅助stateStr
为STARTUP
- 这永远不会改变,数据永远不会复制。在之前的尝试中,我也在我的辅助设备上调用了rs.iniate()
,但这使得打算成为辅助设备的设备成为主设备。我不得不把所有东西吹走,重新开始。
为什么我的辅助设备卡在STARTUP
中,如何才能让我的数据开始从我的辅助设备复制到辅助设备?
答案 0 :(得分:1)
这是我的黑皮书清单:)比较你的步骤,它应该没有故障。
(假设您使用--replSet标志启动了mongodb实例)
// rs.initiate()
// rs.add("host-1:29001")
// rs.add("host-2:30001")
// rs.add("host-n:40001")
// var cfg = rs.config()
// cfg.members[2].priority = 0
// cfg.members[2].hidden = true
// rs.reconfig(cfg)