MongoDB隐藏在启动中的二级卡住了吗?

时间:2016-03-22 16:43:27

标签: mongodb

我正在创建一个隐藏的辅助MongoDB实例,最终将用于报告。到目前为止,我采取了以下步骤:

  1. 使用replSet = mySet启动我的主要实例(本地计算机)并调用rs.initiate()
  2. 使用replSet = mySet
  3. 启动我的辅助实例
  4. 从我的主要实例
  5. 中调用rs.add("my.secondary.com")
  6. 使用priority = 0
  7. 为次要成员设置hidden = truers.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
    }
    

    请注意,我的辅助stateStrSTARTUP - 这永远不会改变,数据永远不会复制。在之前的尝试中,我也在我的辅助设备上调用了rs.iniate(),但这使得打算成为辅助设备的设备成为主设备。我不得不把所有东西吹走,重新开始。

    为什么我的辅助设备卡在STARTUP中,如何才能让我的数据开始从我的辅助设备复制到辅助设备?

1 个答案:

答案 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)