2012-03-15 5 views
0

mongodb 환경을 복제 세트에서 몽고를 통한 복제 세트로 전환했습니다.몽고스 복제본

나는 S1 (A, B)로 전환 한 3 개의 rep-sets (A, B, C)를 가졌습니다. S2 (C, D)는 mongoS가 A, B, C, D에서 실행됩니다. 내가 없애하면 내 기존 시스템에 연결되었다

, 나는

new Mongo("mongodb://A,B,C", array("replicaSet" => "repset-name")); 

가 지금은 mongoS 느릅 나무와 동일하게 시도한 다음과 같이 연결은 interal 서버 오류

new Mongo("mongodb://A,B,C,D", array("replicaSet" => "repset-name")); 

를 던졌습니다 "replicaSet"옵션 중 하나를 선택하면 다시 작동합니다. mongoS 이제 (예 S1 A와 B 사이의 균형) 샤드의 담당자 - 세트 사이의 균형을 읽는 경우

new Mongo("mongodb://A,B,C,D") 

I는 "replicaSet"옵션을 설정하지 않고 궁금?

그런데 pymongo는 pymongo.errors.AutoReconnect "호스트 이름과 연결된 주소가 없습니다"와 동일한 방식으로 반응합니다. 당신이 분산됩니다했습니다 일단 단일 서버 인 것처럼

+0

읽기를 보조 노드에 배포하려면 slaveOk를 true로 설정하십시오. – CesarTrigo

답변

2

올바른 들으, 당신은 mongos에 드라이버를 연결해야합니다. Mongos는 이제 클러스터 주변의 1 차 및 2 차로 읽기 및 쓰기를 배포합니다. mongos가 읽기를 secondaries에 배포하도록하려면 slaveOk를 True로 설정하십시오.