숨겨진 자체 관리형 복제본 세트 멤버 구성
숨겨진 멤버는 복제본 세트 의 일부이지만 프라이머리 가 될 수 없으며 클라이언트 애플리케이션에 표시되지 않습니다. 숨겨진 멤버는 선거 에서 투표할 수 있습니다. For more information on hidden members and their uses, see Hidden Replica Set Members.
고려 사항
숨겨진 노드의 가장 일반적인 용도는 백업을 지원하는 것입니다.
숨겨진 노드를 사용하여 지연 멤버를 지원할 수도 있습니다. 그러나 멤버가 프라이머리 멤버가 되는 것을 방지해야 하는 경우에만 우선 순위 0 멤버를 구성합니다.
settings.chainingAllowed
설정에서 세컨더리 멤버를 다른 세컨더리 멤버와 동기화할 수 있도록 허용하는 경우, MongoDB는 기본적으로 동기화 대상을 선택할 때 숨겨진 멤버보다 숨겨진 멤버가 아닌 멤버를 선호합니다. MongoDB는 숨겨진 멤버를 최후의 수단으로만 선택합니다. 숨겨진 멤버로부터 세컨더리 멤버를 동기화하려면 replSetSyncFrom
데이터베이스 명령을 사용하여 기본 동기화 대상을 재정의합니다. 명령을 사용하기 전에 replSetSyncFrom
에 대한 설명서를 참조하세요.
예시
구성원 구성 문서
세컨더리 멤버를 숨기도록 구성하려면 해당 멤버 구성에서 members[n].priority
값을 0
으로 설정하고 members[n].hidden
값을 true
로 설정합니다:
{ "_id" : <num> "host" : <hostname:port>, "priority" : 0, "hidden" : true }
구성 절차
다음 예제에서는 members
배열에서 현재 인덱스 0
에 있는 세컨더리 멤버를 숨깁니다. 숨겨진 멤버 를 구성하려면 프라이머리에 연결된 mongosh
세션에서 다음 작업 시퀀스를 사용하여 members
배열의 배열 인덱스로 구성할 멤버를 지정합니다.
cfg = rs.conf() cfg.members[0].priority = 0 cfg.members[0].hidden = true rs.reconfig(cfg)
세트를 재구성한 후 이 세컨더리 멤버의 우선 순위는 0
이므로 프라이머리 멤버가 될 수 없으며, 숨김 상태가 됩니다. 세트의 다른 멤버는 hello
명령 또는 db.hello()
메서드 출력에서 숨겨진 멤버를 알리지 않습니다.
복제본 구성 객체를 업데이트할 때 배열 인덱스가 있는 members
배열의 복제본 세트 멤버에 액세스합니다. 배열 인덱스는 0
으로 시작합니다. 이 인덱스 값을 members
배열의 각 문서에 있는 members[n]._id
필드 값과 혼동하지 마세요.
경고
rs.reconfig()
2} 셸 메서드는 현재 기본값이 강제로 물러나도록 하여 선거를 실시할 수 있습니다. 기본 연결이 종료되면mongod
모든 클라이언트 연결을 닫습니다. 일반적으로 10~20초 정도 소요되지만 예약된 유지 관리 기간 동안 이러한 변경을 수행해 보세요.유효성 검사 규칙은 MongoDB 버전마다 다를 수 있으므로 다른 MongoDB 버전의 멤버를 포함하는 복제본 세트를 다시 구성하지 마십시오.