我们有一个由主节点、次节点和仲裁器组成的副本集。我正在按照mongodb 网站上的说明升级它们。
这是我所做的:
在仲裁器上关闭 mongod,在仲裁器上升级 mongod,在仲裁器上启动 mongod。
关闭次要的 mongod,升级次要的 mongod,启动次要的 mongod。
(我忘了按照建议在主节点上调用 rs.stepDown() ......)在主节点上关闭 mongod,在主节点上升级 mongod,在主节点上启动 mongod。
在辅助节点上调用 rs.stepDown() 以允许主节点再次升级。
虽然我确实忘记在关闭主节点之前在主节点上调用 rs.stepDown(),但我认为这不是问题,因为 stepDown 只应该加速故障转移。
现在,主要和次要都显示它们正在相互同步。我应该担心这个吗?其他一切似乎都有效。
这是 rs.status() 的结果:
"members" : [
{
"_id" : 0,
"name" : "primary:27017",
"health" : 1,
"state" : 1,
"stateStr" : "PRIMARY",
"uptime" : 3274,
"optime" : {
"t" : 1367879796,
"i" : 6
},
"optimeDate" : ISODate("2013-05-06T22:36:36Z"),
"lastHeartbeat" : ISODate("2013-05-06T22:35:06Z"),
"lastHeartbeatRecv" : ISODate("1970-01-01T00:00:00Z"),
"pingMs" : 1,
"syncingTo" : "secondary:27017"
},
{
"_id" : 1,
"name" : "arbiter:27017",
"health" : 1,
"state" : 7,
"stateStr" : "ARBITER",
"uptime" : 3571,
"self" : true
},
{
"_id" : 2,
"name" : "secondary:27017",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 3570,
"optime" : {
"t" : 1367879796,
"i" : 6
},
"optimeDate" : ISODate("2013-05-06T22:36:36Z"),
"lastHeartbeat" : ISODate("2013-05-06T22:35:06Z"),
"lastHeartbeatRecv" : ISODate("1970-01-01T00:00:00Z"),
"pingMs" : 6,
"syncingTo" : "primary:27017"
}