2016-03-22 71 views
0

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

  1. 开始了我的主实例(本地计算机)与replSet = mySet,并呼吁rs.initiate()
  2. 开始了我的第二个实例与replSet = mySet
  3. 从我的主实例调用rs.add("my.secondary.com")
  4. 设置为priority = 0hidden = 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

给它一些时间。它可能与主要同步,因此需要一段时间,具体取决于数据的大小。另外请确保主节点和辅助节点是否可以互相访问,且没有防火墙干扰。 – Saleem

+0

我不确定 - 根据下面的链接,如果它是同步,状态将是'STARTUP2':https://docs.mongodb.org/manual/reference/replica-states/ –

+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) 
+0

是的,这些是我的步骤。我不确定我的辅助服务是否可以访问我的主服务器,这可能是问题所在。我会研究 –

+0

尝试在本地计算机上启动副本,然后再花时间在实时环境中。这会给你信心,你在做什么。 (至少为MongoDB设置replicaSet) – Saleem

+0

是啊现在正在努力设置我的本地 - 我认为这是一个好的步骤 –