YAML 설정 파일을 사용하여 MongoDB Search 및 벡터 검색 배포서버에 대한 mongot 를 설정합니다.
팁
Kubernetes 연산자 배포용 MongoDB 컨트롤러의 경우 MongoDBSearch 사용자 지정 리소스를 사용하여 mongot을(를) 구성할 수 있습니다. 자세한 내용은 MongoDBSearch를 참조하세요.
다음 예시는 MongoDB Community를 사용하는 자체 관리형 mongot 배포서버에 대한 사용 가능한 모든 설정이 포함된 완전한 구성 구조를 보여줍니다.
syncSource: replicaSet: <object> hostAndPort: <string or list of strings> x509: <object> caFile: <string> tlsCertificateKeyFile: <string> tlsCertificateKeyFilePasswordFile: <string> scramAuth: <object> username: <string> passwordFile: <string> authSource: <string> tls: <object> enabled: <boolean> caFile: <string> tlsCertificateKeyFile: <string> tlsCertificateKeyFilePasswordFile: <string> router: <object> hostAndPort: <string or list of strings> x509: <object> caFile: <string> tlsCertificateKeyFile: <string> tlsCertificateKeyFilePasswordFile: <string> scramAuth: <object> username: <string> passwordFile: <string> authSource: <string> tls: <object> enabled: <boolean> caFile: <string> tlsCertificateKeyFile: <string> tlsCertificateKeyFilePasswordFile: <string> replicationReader: readPreference: <string> tagSets: <string or list of strings> storage: <object> dataPath: <string> server: <object> grpc: <object> address: <string> tls: <object> mode: <string> certificateKeyFile: <string> certificateKeyFilePasswordFile: <string> caFile: <string> name: <string> metrics: <object> enabled: <boolean> address: <string> healthCheck: <object> address: <string> logging: <object> verbosity: <string> logPath: <string> embedding: providerEndpoint: <string> queryKeyFile: <string> indexingKeyFile: <string> isAutoEmbeddingViewWriter: <boolean> advancedConfigs: <object> indexing: <object> lucene: <object> refresh: <object> intervalMs: <int> mergePolicy: <object> tiered: <object> vectorMergePolicy: <object> mergeBudgetMb: <int> mergeScheduler: <object> concurrent: <object> maxThreadCount: <int> fieldLimit: <int> querying: <object> lucene: <object> maxClauseLimit: <int> vectorFloorSegmentMB: <double> replication: <object> mongodb: <object> numConcurrentInitialSyncs: <int> numConcurrentChangeStreams: <int> numIndexingThreads: <int> numConcurrentSynonymSyncs: <int> autoEmbedding: <object> materializedView: <object> numConcurrentChangeStreams: <int> numIndexingThreads: <int> numEmbeddingThreads: <int> numConcurrentInitialSyncs: <int> matViewWriterMaxConnections: <int> mvWriteRateLimitRps: <int> embeddingProviderRpsLimit: <int> ftdc: <object> enabled: <boolean> directorySizeMb: <int> fileSizeMb: <int> collectionPeriodMillis: <int>
필수 설정
이 섹션에서는 모든 mongot 배포서버에 필요한 설정에 대해 설명합니다. 필요한 설정만 정의하면 mongot 은 모든 선택 사항에 대해 기본값을 사용합니다.
syncSource.replicaSet.hostAndPort유형: string 또는 string 목록
mongod연결 문자열에서 시드 목록을 구성하는 데 사용되는 하나 이상의 호스트 및 포트 지정자. 제공된 지정자 수에 관계없이mongot은 독립형 모드가 아닌 복제본 세트 모드로 연결을 설정합니다.
server.grpc.address유형: 문자열
gRPC 수신 서버가 수신하는 주소입니다. 다음 형식을 사용합니다.
<host>:<port> 자체 관리형 배포서버에서는 검색 및 인덱스 관리 트래픽을
mongot으로 보내는mongod프로세스에서 이 주소에 액세스할 수 있어야 합니다.mongod가mongotHost및searchIndexManagementHostAndPort설정에 사용하는 호스트 및 포트와 일치하도록 구성합니다.단일 호스팅 개발의 경우
localhost가 가장 안전한 기본값입니다.mongod과mongot가 다른 호스팅에서 실행되는 경우server.grpc.address을mongod가 액세스할 수 있는 인터페이스로 설정합니다.경고
시스템 토폴로지 에 따라
mongot쿼리 서버 MongoDB 클러스터에서 액세스할 수 있는 인터페이스에 바인딩해야 할 수 있습니다.0.0.0.0IP 주소 에 대한 바인딩은 허용되지만 서버 모든 공용 네트워크에 노출되고 무단 액세스 의 위험이 있습니다.보안을 강화하려면
localhost또는 기타 신뢰할 수 있는 내부 주소와 같이 네트워크 계층에서 제어되고 보호되는 특정 인터페이스로server.grpc.address를 제한하는 것이 좋습니다.
선택적 설정
이 섹션에서는 mongot에 대한 선택 사항 및 조건부 필수 설정에 대해 설명합니다. 이 설정을 생략하면 mongot 은 해당하는 경우 지정된 기본값을 사용합니다.
복제본 세트 인증 설정
syncSource.replicaSet.x509유형: 객체
필요성:
syncSource.replicaSet.scramAuth을 사용하지 않는 경우 필수mongot을mongod로 인증하기 위한 X.509 인증서 설정입니다.
syncSource.replicaSet.x509.caFile유형: 문자열
필요성:
syncSource.replicaSet.x509을 사용하는 경우 필수mongod에서 제시하는 인증서를 확인하기 위한 신뢰할 수 있는 인증서가 포함된 인증서 발급 기관(CA) 파일입니다. 파일에는 PEM 형식의 X.509 인증서 컬렉션이 포함되어 있어야 합니다.
syncSource.replicaSet.x509.tlsCertificateKeyFile유형: 문자열
필요성:
syncSource.replicaSet.x509을 사용하는 경우 필수mongod로mongot을(를) 인증하기 위한 X.509 인증서 및 개인 키가 포함된 PEM 파일의 경로입니다.syncSource.replicaSet.x509을(를) 구성할 때 필수입니다.
syncSource.replicaSet.x509.tlsCertificateKeyFilePasswordFile유형: 문자열
필요성: 선택 사항
syncSource.replicaSet.x509.tlsCertificateKeyFile에 지정된 인증서 키 파일을 해독하기 위한 비밀번호가 포함된 파일의 경로입니다.
syncSource.replicaSet.scramAuth.authSource유형: 문자열
필요성: 선택 사항
기본값: admin
mongot인증 자격 증명과 연결된 데이터베이스의 이름입니다.
syncSource.replicaSet.scramAuth.tls.enabled유형: 부울
필요성:
syncSource.replicaSet.scramAuth.tls을 지정하는 경우 필수입니다.TLS 인증을 활성화하는 플래그입니다. TLS 인증을 활성화하려면
true으로 설정하세요.
syncSource.replicaSet.scramAuth.tls.caFile유형: 문자열
필요성: 선택 사항
mongod에서 제시하는 인증서를 확인하기 위한 신뢰할 수 있는 인증서가 포함된 인증서 발급 기관(CA) 파일입니다. 파일에는 PEM 형식의 X.509 인증서 컬렉션이 포함되어 있어야 합니다.
샤딩된 클러스터 설정
syncSource.router유형: 객체
mongot에 대한mongos에 대한 복제 연결입니다. 생략하면mongot는 샤딩되지 않은 환경에서 실행되는 것으로 간주합니다. 샤딩된 클러스터 배포에 필요합니다.
syncSource.router.x509유형: 객체
필요성:
syncSource.router.scramAuth을 사용하지 않는 경우 필수mongot을mongos로 인증하기 위한 X.509 인증서 설정입니다.
syncSource.router.x509.caFile유형: 문자열
필요성:
syncSource.router.x509을 사용하는 경우 필수mongos에서 제시하는 인증서를 확인하기 위한 신뢰할 수 있는 인증서가 포함된 인증서 발급 기관(CA) 파일입니다. 파일에는 PEM 형식의 X.509 인증서 컬렉션이 포함되어 있어야 합니다.
syncSource.router.x509.tlsCertificateKeyFile유형: 문자열
필요성:
syncSource.router.x509을 사용하는 경우 필수mongos로mongot을(를) 인증하기 위한 X.509 인증서 및 개인 키가 포함된 PEM 파일의 경로입니다.syncSource.router.x509을(를) 구성할 때 필수입니다.
syncSource.router.x509.tlsCertificateKeyFilePasswordFile유형: 문자열
필요성: 선택 사항
syncSource.router.x509.tlsCertificateKeyFile에 지정된 인증서 키 파일을 해독하기 위한 비밀번호가 포함된 파일의 경로입니다.
syncSource.router.scramAuth.authSource유형: 문자열
필요성: 선택 사항
mongot인증 자격 증명 과 연결된 데이터베이스 의 이름입니다. 지정하지 않으면authSource의 기본값은admin입니다.
syncSource.router.scramAuth.tls.enabled유형: 부울
필요성:
syncSource.router.scramAuth.tls을 지정하는 경우 필수입니다.TLS 인증을 활성화하는 플래그입니다. TLS 인증을 활성화하려면
true으로 설정하세요.
syncSource.router.scramAuth.tls.caFile유형: 문자열
필요성: 선택 사항
mongos에서 제시하는 인증서를 확인하기 위한 신뢰할 수 있는 인증서가 포함된 인증서 발급 기관(CA) 파일입니다. 파일에는 PEM 형식의 X.509 인증서 컬렉션이 포함되어 있어야 합니다.
복제 읽기 설정 (read preference)
syncSource.replicationReader유형: 객체
복제용 복제본 세트를 읽을 때
mongot에서 사용하는 읽기 설정(read preference)을 제어합니다.복제본 세트 노드 태그로 읽기를 필터링하려면
syncSource.replicationReader.tagSets을 지정합니다.
syncSource.replicationReader.readPreference유형: 문자열
기본값:
secondaryPreferred읽기 설정 (read preference)
mongot는 복제 작업에 사용합니다. 다음 값을 지정할 수 있습니다.primaryprimaryPreferredsecondarysecondaryPreferrednearest
참고
인덱스 관리 명령은 이 설정과 관계없이 항상
primary읽기 설정(read preference)을 사용합니다.
syncSource.replicationReader.tagSetsType: Array
어떤 복제본 세트 노드가 복제 읽기를 수신하는지 필터링하는 태그 세트의 배열입니다.
syncSource.replicationReader.readPreference이primary인 경우에는 이 설정을 구성할 수 없습니다.tagSets의 각 요소는 복제본 세트 멤버 태그와 일치하는{ name: <name>, value: <value> }객체의 배열입니다.mongot는 태그 세트를 순서대로 평가하고 멤버와 일치하는 첫 번째 태그 세트를 사용합니다. 예시는 다음과 같습니다.tagSets: - [ { name: hostname, value: mongod1 }, { name: region, value: us-east-1 } ]
gRPC 서버 설정
server.grpc.address 설정이 필수 사항입니다. 다른 모든 server.grpc 설정은 선택 사항입니다.
server.grpc.tls.mode유형: 문자열
gRPC 서버의 TLS 모드입니다. 다음 값 중 하나여야 합니다.
"TLS""mTLS""disabled"
server.grpc.tls을 구성할 때 필수입니다.
server.grpc.tls.certificateKeyFile유형: 문자열
PKCS#8 개인 키를 사용하여
mongot에 대한 유효한 X.509 인증서가 포함된 PEM 파일.mongod은--tlsCAFile옵션으로 지정한 CA(인증서 발급 기관) 파일을 사용하여 인증서를 검증합니다.server.grpc.tls.mode가"TLS"또는"mTLS"인 경우 필수입니다.
server.grpc.tls.certificateKeyFilePasswordFile유형: 문자열
server.grpc.tls.certificateKeyFile에 지정된 인증서 키 파일을 해독하기 위한 비밀번호가 포함된 파일의 경로입니다.
server.grpc.tls.caFile유형: 문자열
mongod이 제시하는 인증서를 확인하기 위한 신뢰할 수 있는 인증서가 포함된 인증서 발급 기관(CA) 파일입니다. 파일에는 PEM 형식의 X.509 인증서 컬렉션이 포함되어 있어야 합니다.server.grpc.tls.mode가"mTLS"인 경우 필수입니다.
server.name유형: 문자열
mongot인스턴스를 식별하기 위한 사용자 제공 이름입니다. MongoDB는$listSearchIndexes와 같은 프로그래밍 인터페이스에서mongot호스팅을 식별하기 위해server.name을 사용합니다. 이 설정을 생략하면 MongoDB가 자동으로 이름을 생성합니다.
지표 설정
상태 확인 설정
로깅 설정
자동 임베딩 설정
기본 설정
자동 임벡딩을 사용하려면 다음 설정을 구성합니다.
참고
queryKeyFile과indexingKeyFile은 한 쌍으로 작동합니다. 두 파일 중 하나라도 구성하지 않으면mongot은 경고를 로그하고 자동 임베딩을 비활성화합니다.providerEndpoint선택 사항입니다. 설정되면mongot은 구성된 임베딩 서비스 엔드포인트에 대한 재정의로 적용합니다.isAutoEmbeddingViewWriter생략하면false으로 기본값이 설정됩니다.
embedding.providerEndpoint유형: 문자열
임베딩 제공자 엔드포인트의 URL입니다. 기본 임베딩 제공자 엔드포인트에 대한 선택 사항 재정의입니다.
mongot이(가) 기본 엔드포인트 대신 특정 제공자 엔드포인트로 임베딩 요청을 보내려면 이것을 사용하세요.
embedding.isAutoEmbeddingViewWriter유형: 부울
자동 임베딩 뷰 작성을 담당하는 리더
mongot인스턴스를 지정하는 플래그입니다. true인 경우 이mongot인스턴스는 자동 임베딩 구체화된 뷰 업데이트의 작성자 역할을 합니다.단일 인스턴스 배포의 경우 인스턴스가 자동 임베딩 보기를 쓰도록 하려면 이 값을
true으로 설정합니다.복제본 세트 또는 샤딩된 클러스터에 대한
mongot인스턴스가 여러 개 있는 경우 중복 또는 충돌을 방지하기 위해 하나의 인스턴스만 자동화된 임베딩 뷰를 작성하도록 합니다. 값을 다음과 같이 설정합니다.truemongot인스턴스 자동 임베딩 뷰 작성을 담당하는 리더로 지정합니다.falsemongot인스턴스를 자동 임베딩 뷰를 쓰기 (write) 하지 않는 팔로우로 지정합니다.
advancedSettings
advancedConfigs.autoEmbedding.materializedView.numConcurrentChangeStreams유형: 정수
필요성: 선택 사항
기본값: 호스트의 CPU 코어 수의 2 배
구체화된 뷰 복제 프로세스가 한 번에 가질 수 있는 최대 정상 상태 변경 스트림 수입니다. 양의 정수여야 합니다.
advancedConfigs.autoEmbedding.materializedView.numIndexingThreads유형: 정수
필요성: 선택 사항
기본값: 최소
1개의 호스트 CPU 코어 수구체화된 뷰의 인덱스에 임베딩 데이터를 쓰는 데 사용되는 스레드 수입니다. 양의 정수여야 합니다.
advancedConfigs.autoEmbedding.materializedView.numEmbeddingThreads유형: 정수
필요성: 선택 사항
기본값: 최소
1개의 호스트 CPU 코어 수임베딩 제공자에서 임베딩을 요청하는 데 사용되는 스레드 수. 양의 정수여야 합니다.
advancedConfigs.autoEmbedding.materializedView.numConcurrentInitialSyncs유형: 정수
필요성: 선택 사항
기본값:
advancedConfigs.replication.mongodb.numConcurrentInitialSyncs의 절반. 결과가1보다 작은 경우1를 사용합니다.advancedConfigs.replication.mongodb.numConcurrentInitialSyncs도 설정하지 않으면 기본값은1가 됩니다.초기 동기화를 동시에 실행할 수 있는 자동화된 임베딩 인덱스의 최대 수입니다. 동시성을 제한하면 초기 빌드 동안 소스
mongod노드와 임베딩 제공자에 가해지는 부하가 줄어듭니다. 양의 정수여야 합니다.
advancedConfigs.autoEmbedding.materializedView.matViewWriterMaxConnections유형: 정수
필요성: 선택 사항
기본값:
4구체화된 뷰 컬렉션에 쓰기 위해 사용되는 최대 연결 수입니다.
16보다 작거나 같은 양의 정수여야 합니다.
고급 인덱싱 설정
advancedConfigs.indexing.lucene.refresh.intervalMs유형: 정수
필요성: 선택 사항
기본값:
1000mongot가 인덱스된 변경 사항을 쿼리에 보여주기 위해 인덱스를 새로고침하기 전에 대기하는 간격(밀리초). 값이 낮으면 문서를 작성하는 것과 쿼리할 수 있는 것 사이의 지연이 줄어들지만 새로고침 작업이 더 자주 실행되는 비용이 발생합니다. 양의 정수여야 합니다.
advancedConfigs.indexing.lucene.mergePolicy.tiered.vectorMergePolicy.mergeBudgetMb유형: 정수
필요성: 선택 사항
기본값: 호스트 총 메모리의 10%
벡터 인덱스 세그먼트의 배경 병합에 사용할 수 있는 메가바이트 단위의 메모리 예산입니다. 예산이 큼면 더 많은 세그먼트를 한 번에 병합할 수 있어 쿼리 성능을 향상시킬 수 있지만 병합 중에 더 많은 메모리를 사용합니다. 양의 정수여야 합니다.
고급 쿼리 설정
고급 복제 설정
advancedConfigs.replication.mongodb.numConcurrentInitialSyncs유형: 정수
필요성: 선택 사항
기본값: 호스트의 CPU 코어 수와
2중 더 작은 값초기 동기화를 동시에 실행할 수 있는 최대 인덱스 수. 동시 인덱스 생성 시 병렬성을 제한하면 소스
mongod노드에 가해지는 부하가 줄어들어들어요. 양의 정수여야 합니다.
advancedConfigs.replication.mongodb.numConcurrentChangeStreams유형: 정수
필요성: 선택 사항
기본값: 호스트의 CPU 코어 수의 2 배
소스
mongod노드에 대해 언제든 시점에 미결 요청을 보낼 수 있는 안정상태 변경 스트림의 최대 수. 이 설정은 초기 동기화가 완료된 후 동시에 업데이트를 가져올 수 있는 인덱스 수를 제어합니다. 양의 정수여야 합니다.
고급 FTDC 설정
advancedConfigs.ftdc.enabled유형: 부울
필요성: 선택 사항
기본값:
true풀타임 진단 데이터 캡처(FTDC)를 활성화하는 플래그입니다. FTDC 진단 데이터 컬렉션은 기본적으로 활성화되어 있습니다.
false일 때mongot은 부트스트랩에서 FTDC 리포터를 생성하지 않아 진단 데이터를 캡처하지 않습니다.
advancedConfigs.ftdc.directorySizeMb유형: 정수
필요성: 선택 사항
기본값:
100FTDC 보관 디렉토리의 최대 총 크기(메가바이트 단위). 최소한
10이고advancedConfigs.ftdc.fileSizeMb보다 큰야 합니다.