我有一个副本集,我正试图将主服务器升级为一个具有更多内存和升级磁盘空间的副本。所以我在新的主服务器上一起搜查了几个磁盘,rsync从一个备用文件中获取数据,并将其添加到复制集中。在查看了rs.status()之后,我注意到所有的次要程序都在主服务器后面12小时左右。因此,当我试图将新服务器强制到主要位置时,它将无法工作,因为它并不是最新的。
这似乎是一个大问题,因为如果初选失败,我们至少有12个小时,大约48小时后。
卵母鱼全部重叠,卵大小相当大。我唯一能想到的是,我正在主服务器上执行大量的写/读操作,这可能会使服务器处于锁定状态,而不允许适当的追赶。
是否有办法迫使中学学生赶上初级阶段?
目前有5台服务器和最后2台正在替换其他两个节点。_id为6的节点将取代主节点。距离主optime最远的节点比主optime晚48小时多一点。
{
"set" : "gryffindor",
"date" : ISODate("2011-05-12T19:34:57Z"),
"myState" : 2,
"members" : [
{
"_id" : 1,
"name" : "10******:27018",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 20231,
"optime" : {
"t" : 1305057514000,
"i" : 31
},
"optimeDate" : ISODate("2011-05-10T19:58:34Z"),
"lastHeartbeat" : ISODate("2011-05-12T19:34:56Z")
},
{
"_id" : 2,
"name" : "10******:27018",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 20231,
"optime" : {
"t" : 1305056009000,
"i" : 400
},
"optimeDate" : ISODate("2011-05-10T19:33:29Z"),
"lastHeartbeat" : ISODate("2011-05-12T19:34:56Z")
},
{
"_id" : 3,
"name" : "10******:27018",
"health" : 1,
"state" : 1,
"stateStr" : "PRIMARY",
"uptime" : 20229,
"optime" : {
"t" : 1305228858000,
"i" : 422
},
"optimeDate" : ISODate("2011-05-12T19:34:18Z"),
"lastHeartbeat" : ISODate("2011-05-12T19:34:56Z")
},
{
"_id" : 5,
"name" : "10*******:27018",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 20231,
"optime" : {
"t" : 1305058009000,
"i" : 226
},
"optimeDate" : ISODate("2011-05-10T20:06:49Z"),
"lastHeartbeat" : ISODate("2011-05-12T19:34:56Z")
},
{
"_id" : 6,
"name" : "10*******:27018",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"optime" : {
"t" : 1305050495000,
"i" : 384
},
"optimeDate" : ISODate("2011-05-10T18:01:35Z"),
"self" : true
}
],
"ok" : 1
}发布于 2011-05-13 16:20:27
在查看了所有内容之后,我看到了一个错误,这使我回到了在主服务器上运行的mapreduce,它有以下问题:https://jira.mongodb.org/browse/SERVER-2861。因此,当尝试复制时,由于oplog中的错误/损坏操作,它无法同步。
发布于 2012-01-16 03:25:09
要回答原来的问题(这不会解决OP的问题),我认为强迫次要的人而不是“追赶”的最好方法是从集合中删除它并重新添加它,但是有可能(例如在这种情况下),还有其他的问题。看看你的日志。
https://serverfault.com/questions/269184
复制相似问题