Docs Menu
Docs Home
/
MongoDB 매뉴얼
/ / /

자체 관리형 복제본 세트에 중재자 추가

이 페이지의 내용

  • 고려 사항
  • 기본-보조-아비터 복제본 세트
  • 중재자 추가

일부 상황(예: 프라이머리 및 세컨더리 가 있지만 비용 제약으로 인해 세컨더리 를 추가할 수 없는 경우)에서는 선거에서mongod 투표할 중재자 로 복제본 세트 에 인스턴스 를 추가하도록 선택할 수 있습니다. .

중재자는 복제본 세트 의 일부이지만 데이터를 보유하지 않는 mongod 인스턴스입니다(예: 데이터 중복성을 제공하지 않습니다). 그러나 선거에는 참여할 수 있습니다.

중재자는 최소한의 리소스만 필요하며 전용 하드웨어가 필요하지 않습니다. 애플리케이션 서버 또는 모니터링 호스트에 중재자를 배포할 수 있습니다.

중요

복제본 세트의 주 멤버 또는 보조 멤버를 함께 호스팅하는 시스템에서는 중재자를 실행하지 마십시오.

경고

복제본 세트당 하나 이상의 중재자를 배포하지 마세요.

여러 중재자에 대한 우려 사항도 참조하세요.

프라이머리-세컨더리-중재자(PSA) 아키텍처를 사용 중이라면 다음을 고려하세요.

  • 쓰기 고려 "majority"는 세컨더리를 사용할 수 없거나 지연되었을 때 성능 문제를 일으킬 수 있습니다. 이러한 문제를 완화하는 방법에 대한 조언은 자체 관리 PSA 복제본 세트를 통한 성능 문제 완화를참조하세요.

  • 글로벌 기본값 "majority"를 사용하고 있고, 쓰기 고려가 과반수 크기보다 작으면 쿼리가 오래된 (완전히 복제되지 않은) 부실 데이터를 반환할 수 있습니다.

중재자는 데이터를 저장하지 않지만 중재자의 mongod 프로세스가 복제본 세트에 추가될 때까지 다른 mongod 프로세스처럼 작동하며 데이터 파일 집합과 전체 크기 저널로 시작합니다.

경고

로컬 호스트가 아닌 에 바인딩하기 전에(예: 공개적으로 액세스할 수 있는) IP 주소 인 경우 무단 액세스 로부터 클러스터 를 보호했는지 확인합니다. 보안 권장 사항의 전체 목록은 자체 관리 배포서버를 위한 보안 체크리스트를 참조하세요. 최소한 인증 을 활성화 하고 네트워크 인프라를 강화하는 것을 고려하세요.

2} 및mongod MongoDB mongos 바이너리는 기본적으로 로컬 호스트에 바인딩됩니다. 바이너리에 대해 net.ipv6 구성 파일 설정 또는 --ipv6 명령줄 옵션이 설정되어 있으면 바이너리가 로컬 호스트 IPv6 주소에 추가적으로 바인딩됩니다.

기본적으로 localhost에 바인딩된 mongodmongos는 동일한 컴퓨터에서 실행 중인 클라이언트의 연결만 허용합니다. 이 바인딩 동작에는 mongosh와 복제본 세트 또는 샤딩된 클러스터의 다른 노드가 포함됩니다. 원격 클라이언트는 localhost에만 바인딩된 바이너리에는 연결할 수 없습니다.

기본 바인딩을 재정의하고 다른 IP 주소에 바인딩하려면 net.bindIp 구성 파일 설정 또는 --bind_ip 명령줄 옵션을 사용하여 호스트 이름 또는 IP 주소 목록을 지정합니다.

경고

예를 들어 다음 mongod 인스턴스는 로컬 호스트와 IP 주소 198.51.100.1 와 연결된 호스트명 My-Example-Associated-Hostname에 모두 바인딩됩니다.

mongod --bind_ip localhost,My-Example-Associated-Hostname

이 인스턴스에 연결하려면 원격 클라이언트가 호스트 이름 또는 관련 IP 주소 198.51.100.1를 지정해야 합니다.

mongosh --host My-Example-Associated-Hostname
mongosh --host 198.51.100.1

중요

변경된 IP 주소로 인해 구성이 업데이트되는 것을 방지하려면 IP 주소 대신 DNS 호스트 이름을 사용하세요. 특히 복제본 세트 구성원 또는 샤딩된 클러스터 구성원을 구성할 때 IP 주소 대신 DNS 호스트 이름을 사용하는 것이 중요합니다.

IP 주소 대신 호스트 이름을 사용하여 스플릿 네트워크 호라이즌 전반에 걸쳐 클러스터를 구성하세요. MongoDB 5.0부터 IP 주소로만 구성된 노드는 스타트업 유효성 검사에 실패하며 시작되지 않습니다.

경고

복제본 세트당 하나 이상의 중재자를 배포하지 마세요.

여러 중재자에 대한 우려 사항도 참조하세요.

중요

변경된 IP 주소로 인해 구성이 업데이트되는 것을 방지하려면 IP 주소 대신 DNS 호스트 이름을 사용하세요. 특히 복제본 세트 구성원 또는 샤딩된 클러스터 구성원을 구성할 때 IP 주소 대신 DNS 호스트 이름을 사용하는 것이 중요합니다.

IP 주소 대신 호스트 이름을 사용하여 스플릿 네트워크 호라이즌 전반에 걸쳐 클러스터를 구성하세요. MongoDB 5.0부터 IP 주소로만 구성된 노드는 스타트업 유효성 검사에 실패하며 시작되지 않습니다.

  1. 데이터 디렉터리를 만듭니다(예 storage.dbPath) 중재자의 경우. 5} 인스턴스는 구성 데이터에 디렉터리를 mongod 사용합니다. 디렉토리는 데이터 세트를 보유 하지 않습니다. 예를 들어 /var/lib/mongodb/arb 디렉터리를 만듭니다.

    mkdir /var/lib/mongodb/arb
  2. 조인할 복제본 세트의 데이터 디렉터리와 이름을 지정하여 중재자를 시작합니다. 다음은 /var/lib/mongodb/arb 을 복제본 집합 이름의 dbPathrs 로 사용하여 중재자를 시작합니다.

    경고

    로컬 호스트가 아닌 에 바인딩하기 전에(예: 공개적으로 액세스할 수 있는) IP 주소 인 경우 무단 액세스 로부터 클러스터 를 보호했는지 확인합니다. 보안 권장 사항의 전체 목록은 자체 관리 배포서버를 위한 보안 체크리스트를 참조하세요. 최소한 인증 을 활성화 하고 네트워크 인프라를 강화하는 것을 고려하세요.

    mongod --port 27017 --dbpath /var/lib/mongodb/arb --replSet rs --bind_ip localhost,<hostname(s)|ip address(es)>
  3. 기본 설정에 연결하고 중재자를 복제본 세트에 추가합니다. m1.example.net 가 중재자의 지정된 IP 주소와 연결된 호스트 이름이라고 가정하는 다음 예와 같이 rs.addArb() 메서드를 사용합니다.

    rs.addArb("m1.example.net:27017")

    이 작업은 m1.example.net 호스트의 포트 27017 에서 실행 중인 중재자를 추가합니다.

돌아가기

멤버 추가.