2013-02-25 1 views
0

두 개의 노드 클러스터가 있습니다. 하나는 기본 서버이고 다른 하나는 보조 서버입니다. 나는 무작위이 메시지오류 : 세트에 기본 서버가 없습니다.

오류를 유지 :no primary server found in set

어떤 제안? 나는 또한 최신 드라이버

"mongodb": "1.2.13" 

"mongoskin": "0.5.0" 

그것은 단지 두 개의 노드이기 때문이다

을 사용하고

{"read":"secondary", "auto_reconnect":true, safe: true} 

을 : 복제 설정 옵션에서 나는 다음에 그것을 설정? 노드 수를 늘려야 만 이러한 불연속 읽기가 중지됩니다. ?

+1

기본 구성에서는 누가 기본 서버인지 아닌지를 처리 ​​할 수 ​​없으므로 복제 데이터베이스 세트에 짝수 개의 서버를 보유하지 않는 것이 좋습니다. 또한 게시물을 수정하고 회원 구성 방법을 포함시킬 수 있습니까? – gustavohenke

답변

0

복제본 세트에는 최소한 3 명의 구성원이 필요합니다. 기본 설정이 다운 된 경우 다른 구성원이 새 기본 설정을 누가 볼 것인지 결정하기 때문에 복제 세트에 항상 홀수의 구성원이 있어야합니다.

유권자가 짝수 인 경우 항상 동점자가 생기고 새 주 투표에 투표 할 수 없습니다.

+2

이것은 올바르지 않습니다 - 당신은 동점이 없습니다. 새로운 기본 후보를 선출하기에 충분한 표가 없을 것입니다. –

0

2 개 노드가 생산 환경에 권장되지 않는 동안, 당신은 당신이이 중재자 (http://docs.mongodb.org/manual/administration/replica-sets/#replica-set-arbiters)의 세 번째 노드를 추가해야 두 남길 수 있습니다 - 이것이 비록 (당신에게 투표 홀수주지 중재인은 실제로 어떠한 데이터도 저장하지 않으며, 유일하게 존재하는 것은 선거에서 다수 표를 얻지 못하는 상황을 피하고 투표하는 것입니다.