정의
rs.remove(hostname)hostname매개 변수로 설명하는 멤버를 현재 복제본 집합에서 제거합니다. 이 함수는 셸 연결을 잠시 끊고 복제본 세트가 기본 구성원을 재협상할 때 강제로 다시 연결합니다. 결과적으로 이 명령이 성공하더라도 셸에는 오류가 표시됩니다.rs.remove()메서드에는 다음과 같은 매개변수가 있습니다.Parameter유형설명hostname문자열
복제본 세트에 있는 시스템의 호스트 이름입니다.
참고
rs.remove()작업을 실행하기 전에 제거하려는 복제본 세트 구성원을 종료하는 것이 좋습니다.
호환성
이 메서드는 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.
MongoDB Enterprise: MongoDB의 구독 기반 자체 관리 버전
MongoDB Community: MongoDB의 소스 사용 가능 무료 자체 관리 버전
행동
글로벌 쓰기 우려
멤버를 제거하면 복제본 세트 의 투표 멤버 수가 변경되어 암시적 기본값 쓰기 고려 (write concern) 변경될 수 있습니다.
암시적 기본값 쓰기 고려 (write concern) 변경하는 구성으로 복제본 세트 재구성하기 전에 전역 기본값 쓰기 고려 (write concern) 명시적으로 설정하다 해야 합니다. 전역 기본값 쓰기 고려 (write concern) 설정하다 하려면 setDefaultRWConcern 명령을 사용합니다.
제거는 대다수의 구성원이 복제본 구성을 설치할 때까지 기다립니다.
rs.remove()는 제거된 멤버를 생략하는 구성으로replSetReconfig명령을 실행합니다. 이 메서드는 투표권이 있는 복제본 세트 멤버의 과반수가 새 복제본 구성을 설치할 때까지 기다렸다가 성공 반환합니다. 투표 멤버는 중재자를 포함하여members[n].votes가 1인 모든 복제본 세트 멤버입니다. 복제본 세트 멤버가 새 구성을 설치하는 방법을 학습 재구성은 과반수 멤버가 복제본 구성을 설치할 때까지 대기를 참조하세요.
rs.remove()은(는) maxTimeMS 제한을 허용하지 않습니다. 투표 멤버의 과반수가 새 구성을 설치하지 않으면 작업이 무기한 대기합니다.
제거된 멤버에 대한 연결
기본적으로 복제 세트 구성원은 제거된 구성원에 대한 연결을 제거하기 전에 5분 동안 기다립니다. 샤드된 복제본 세트에서는 ShardingTaskExecutorPoolHostTimeoutMS 서버 매개변수를 사용하여 이 시간 제한을 수정할 수 있습니다.
복제본 세트에서 제거된 노드로 나가는 모든 연결을 즉시 삭제하려면 복제본 세트의 나머지 각 노드에 대해 dropConnections 관리 명령을 실행합니다.
db.adminCommand( { "dropConnections" : 1, "hostAndPort" : [ "<hostname>:<port>" ] } )
0}을 <hostname> 제거된 구성원의 호스트 <port> mongod 이름으로 바꾸고 을 이 수신 대기하는 포트로 바꿉니다.