2016-10-10 2 views
2

아래 시나리오에서 어떤 상황에서 설명 할 수 있습니까?MongoError : 유효한 복제본 구성원이 없습니다.

var url = format("mongodb://%s:%[email protected]%s/%s?authSource=%s&replicaSet=%s&re‌​adPreference=%s&read‌​PreferenceTags=%s&co‌​nnectTimeoutMS=%s&so‌​cketTimeoutMS=%s", username, pswd, replicationSet, db, authdb, replicaSetName, readPreference, readPreferenceTags, 5000, 5000); 
var db = mongojs(url); 
+0

안녕하세요 Prabhu Kathiresan -이 오류가 발생합니까? 그렇다면 복제 세트에 연결하는 방법을 보여줄 수 있습니까? –

+0

var url = format ("mongodb : // % s : % s @ % s/% s? authSource = % s 및 replicaSet = % s 및 readPreference = % s 및 connectTimeoutMS = % s 및 socketTimeoutMS = % s", username, pswd, db, authdb, replicaSetName, readPreference, readPreferenceTags, 5000, 5000); var db = mongojs (url); 이것은 복제본 세트 –

+0

에 연결하는 방법입니다. –

답변

0

"최신"차에 비교하고 무슨 세컨더리이없는 상황에서 : 나는 복제 세트에 연결하는 방법

database error { 
[MongoError: no valid replicaset members found] 
name: 'MongoError', 
message: 'no valid replicaset members found' 
} 

이입니다. 2 차 서버가 아직 복제하지 않은 주 서버가 변경되었습니다. 클라이언트가 지속적으로 (기본으로) 쓰고 있으면, 더 이상 스텝 다운 할 수 없습니다.

물론 복제 세트에 노드 수가 소수 인 상황에서도 마찬가지입니다. 3 개의 노드 중 하나와 같습니다.

이렇게 .. 복제 세트에서 항상 투표 회원의 다수가 실행되어 있어야합니다. (2/3, 3/4, 3/5, ...)

'mongo'명령을 사용하여 RS의 기본 노드를 명령 줄에서 직접 연결할 수 있습니까? 그렇다면 응용 프로그램이 할 수없는 경우 응용 프로그램의 연결 문자열에 오류가 있습니다.

RS에 '기본'이 없다면 노드 mongodb.log 파일에서 오류 메시지를 확인하여 무엇이 잘못되었는지 설명하십시오.

+0

이 상황을 어떻게 처리합니까 ??? 이 문제가 수정 되었습니까 ?? –

관련 문제