1
복제 구성원 집합에 세 구성원이 있고 host0:27100
을 기본 구성원으로 사용합니다. 최근에 구성을 변경하고 host2:27102
을 기본 구성원으로 지정했습니다. 다음은 these 문서입니다.MongoDB 주 복제본 집합 구성원이 보조 서버와 동기화 중
구성을 변경 한 후에 rs.status()
출력은 host1:27101
이 의도 된 "syncingTo" : "host2:27102"
임을 나타냅니다.
그러나 새 기본 출력 host2:27102
에 대한 출력은 이전 주 구성원 인 보조 입력으로 "syncingTo" : "host0:27100"
임을 보여줍니다.
왜 보조 멤버와 동기화되는지 이해할 수 없습니다. 정상적인 행동입니까?
s0:SECONDARY> rs.status()
{
"set" : "s0",
"date" : ISODate("2013-09-25T12:31:42Z"),
"myState" : 2,
"syncingTo" : "host2:27102",
"members" : [
{
"_id" : 0,
"name" : "host0:27100",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 428068,
"optime" : Timestamp(1380112272, 1),
"optimeDate" : ISODate("2013-09-25T12:31:12Z"),
"self" : true
},
{
"_id" : 1,
"name" : "host1:27101",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 397,
"optime" : Timestamp(1380112272, 1),
"optimeDate" : ISODate("2013-09-25T12:31:12Z"),
"lastHeartbeat" : ISODate("2013-09-25T12:31:42Z"),
"lastHeartbeatRecv" : ISODate("2013-09-25T12:31:41Z"),
"pingMs" : 10,
"syncingTo" : "host2:27102"
},
{
"_id" : 2,
"name" : "host2:27102",
"health" : 1,
"state" : 1,
"stateStr" : "PRIMARY",
"uptime" : 397,
"optime" : Timestamp(1380112272, 1),
"optimeDate" : ISODate("2013-09-25T12:31:12Z"),
"lastHeartbeat" : ISODate("2013-09-25T12:31:42Z"),
"lastHeartbeatRecv" : ISODate("2013-09-25T12:31:41Z"),
"pingMs" : 2,
"syncingTo" : "host0:27100"
}
],
"ok" : 1
}