문서 메뉴
문서 홈
/
MongoDB 매뉴얼
/ / /

투표권이 없는 자체 관리형 복제본 세트 구성원 구성

이 페이지의 내용

  • 절차
  • 관련 문서

투표권이 없는 멤버를 사용하면 최대 7명의 투표 멤버를 초과하여 읽기 배포를 위한 멤버를 추가할 수 있습니다.

멤버를 투표권이 없는 멤버로 구성하려면 replSetReconfig 명령 또는 해당 mongosh 헬퍼 메서드 rs.reconfig() 를 사용하여 members[n].votesmembers[n].priority 값을 0 으)로 설정합니다. 투표권이 없는 복제본 세트 멤버 priority 0 를 가져야 합니다.

참고

복제본 재구성은 한 번에 이상의 투표 복제본 세트 멤버를 추가하거나 제거할 수 없습니다. 여러 멤버의 투표권을 수정하려면 replSetReconfig 또는 rs.reconfig() 작업을 연속으로 실행하여 한 번에 한 명의 멤버를 수정합니다. 자세한 내용은 재구성 시 한 번에 투표 멤버 둘 이상을 추가 또는 제거할 수 없음에서 확인하세요.

다음 절차에서는 단일 세컨더리 복제본 세트 멤버를 투표권이 없는 멤버로 구성합니다. 프라이머리 멤버를 투표권이 없는 멤버로 변환하려면, 이 절차를 수행하기 전에 먼저 replSetStepDown 또는 해당 셸 헬퍼 rs.stepDown()을 사용하여 프라이머리 멤버를 성공적으로 강등해야 합니다.

1) 복제본 세트 프라이머리에 연결

mongosh프라이머리 기본 복제본 세트에 연결합니다.

mongosh --host "<hostname>:<port>"

<hostname><port>를 복제본 세트 프라이머리의 호스트 이름 및 포트로 바꿉니다. 배포에 필요한 다른 매개 변수를 포함합니다.

2) 복제본 구성 조회

셸에서 rs.conf() 메서드를 실행하고 결과를 변수 cfg에 할당합니다.

cfg = rs.conf();

반환된 문서에는 members 배열이 포함되며, 배열의 각 요소에는 복제본 세트 멤버에 대한 구성이 포함됩니다.

3) 멤버를 투표권이 없는 멤버로 구성

복제본 멤버를 투표권이 없는 멤버로 변경하려면 votespriority0으로 설정합니다.

cfg.members[n].votes = 0;
cfg.members[n].priority = 0;

n을 수정할 멤버의 배열 인덱스 위치로 바꿉니다. members 배열은 인덱스가 0이며 배열의 첫 번째 요소의 인덱스 위치는 0입니다.

members 배열에서 멤버의 배열 인덱스 위치는 특정 멤버의 members[n]._id구별됩니다 . _id를 사용하여 members에 있는 모든 멤버의 배열 인덱스 위치를 참조하지 마세요.

4) 새 구성으로 복제본 세트 재구성

rs.reconfig() 메서드를 사용하여 업데이트된 복제본 세트 구성 문서로 복제본 세트를 다시 구성합니다.

rs.reconfig(cfg);

경고

  • rs.reconfig() 2} 셸 메서드는 현재 기본값이 강제로 물러나도록 하여 선거를 실시할 수 있습니다. 기본 연결이 종료되면 mongod 모든 클라이언트 연결을 닫습니다. 일반적으로 10~20초 정도 소요되지만 예약된 유지 관리 기간 동안 이러한 변경을 수행해 보세요.

  • 유효성 검사 규칙은 MongoDB 버전마다 다를 수 있으므로 다른 MongoDB 버전의 멤버를 포함하는 복제본 세트를 다시 구성하지 마십시오.

돌아가기

지연 멤버

이 페이지의 내용