2014-10-11 2 views
0

이 유형의 구성을 사용할 수 있습니까? 다음 사항을 실행다중 몽고가있는 하나의 샤드

두 서버는

1.Mongo Config Server. 
2.Mongo Router. 
3.Application. 

총 4 EC2의 서버 -

  1. 첫 번째 서버 러닝 웹 응용 프로그램을 & mongos를 each-.
  2. 두 번째 서버 - 웹 응용 프로그램 실행 & mongos.
  3. 세 번째 서버 - 전체 DB가있는 첫 번째 샤드 실행 ( 예제 데모).
  4. Forth 서버 실행 완전한 DB가있는 두 번째 샤드 ( 예제 데모 용).

두 몽고는 Shard1이라는 하나의 샤드를 가리켜 야합니까?

+0

샤드는 어디에 있습니까? 그걸 나열하지 않았 니? 두 서버에 응용 프로그램을 어떻게 배포 할 계획입니까? – Sammaye

+0

예, 두 몽고가 shard1을 가리 킵니다. – Sammaye

+0

두 개의 구성 서버를 가질 수 없습니다. 당신은 가지고 있어야합니다 3. 당신이 계획하고있는 것과 같은 기계에서 몽고와 응용 프로그램을 실행하십시오. mongos는 config db를 가리 키도록 구성됩니다. 그런 다음 하나의 몽고에 sh.addShard를 사용하여 샤드를 추가하고 샤드 데이터베이스로 이동하여 샤드 콜렉션을 추가합니다. 샤드의 정의에 따라 샤드는 "완전한 DB"를 갖지 않습니다. – wdberkeley

답변

0

예, 단일 샤드에 대해 여러 몽고 인스턴스를 실행할 수 있습니다. 메타 데이터와 하트 비트를 최신 상태로 유지하기 위해 mongos 인스턴스를 데몬 프로세스로 실행해야하는 샤드 된 클러스터의 클라이언트로 생각하십시오.

편집 : 완전한 DB를 갖는 것은 단일 DB에서만 가능합니다. shard1에는 하나의 DB를, shard2에는 다른 DB를 가질 수 있습니다 (예 :). 하지만 두 개의 샤드에서 완전한 DB를 가질 수는 없습니다. shard1에 db1 및 shard2에 db2를 갖는 목표를 달성하려면 각 샤드를 해당 데이터베이스의 기본 샤드로 만들고 컬렉션을 파기하지 마십시오. 자세한 내용은 the docs for the movePrimary command을 참조하십시오.

비트 OOT :

그러나, 하나의 설정 서버를 실행하는 것은 강하게에 대한 조언, 그리고 좋은 이유가된다. 단일 구성 서버가 다운되거나 손상된 경우 클러스터를 사용할 수 없으므로 클러스터 된 클러스터를 재생성하는 것은 쉬운 일이 아닙니다. 그리고 그것은 가차없는 과정이 될 것입니다. 그러니 세 개의 설정 서버를 사용하십시오. *