MongoDB replica sets은 이 아니고 마스터/슬레이브입니다. 자동 장애 조치를 수행하려면 복제본 세트의 노드를 새 기본 노드로 선택할 수 있어야합니다. 복제 세트의 최소 노드 수는 3이어야합니다.이 노드는 3 개의 데이터 보유 노드 또는 2 개의 데이터 보유 노드 일 수 있으며 arbiter (선거에서 투표하는 노드) 일 수 있습니다.
복제 만 사용하는 데모는 스케일링보다 더 나은 장애 조치 및 중복성에 관한 것입니다 (샤딩과 함께 더 나은 데모).
당신이 개발 환경에서 복제를 설정하거나 분산됩니다 클러스터를 견딜 수 있도록 매우 간단한 (그리고 비 생산을) 방법을 원한다면, 내가 mtools의 일부입니다 mlaunch
스크립트를 사용하는 것이 좋습니다 것입니다.
:
mlaunch --replicaset --nodes 2 --arbiter
3 개 복제 세트를 기본으로 파편 (플러스 mongos
및 구성 서버)와 분산됩니다 클러스터를 만들려면 :
예를 들어, 중재자 세트 3 노드의 복제본을 만들 수 있습니다
mlaunch --replicaset --sharded 3
다른 설명에서 언급했듯이 무료 MMS Monitoring 서비스는 MongoDB 배포의 활동을 시각화하는 좋은 방법이며 db.shutdownServer()
을 사용하여 특정 노드를 종료 한 후 결과를 볼 수 있습니다.
이것은 MMS에서 볼 수 있습니다. 인이 바로 마지막 PING \t 유형 \t \t \t REPL 설정 \t \t WIN-RVG4NTU8372 : 27001 \t PRIMARY \t \t \t 복제 \t \t WIN-RVG4NTU8372 : 27002 \t 차 \t \t \t 복제 \t \t WIN-RVG4NTU8372 : 27,003 \t 보조 \t \t \t 복제 – user3814878
어떻게 주체를 셧다운합니까? 나는 {shutdown : 1, force : true}를 사용했으나 결코 작동하지 않았다. – user3814878
SIGTERM을 사용하여 프로세스를 죽이거 나 주 서버에 연결하고'use admin; db.shutdownServer() –