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

상태 관리자로 자체 관리형 샤드 클러스터 상태 구성

이 페이지의 내용

  • 개요
  • 활성 장애 기간
  • 진행 상황 모니터
  • 예시

이 문서에서는 상태 관리자를 사용하여 샤딩된 클러스터 상태 문제를 모니터링하고 관리하는 방법을 설명합니다.

상태 관리자 는 지정된 강도 수준에서 상태 관리자 패싯 에 대한 상태 검사를 실행합니다. 상태 관리자 검사는 지정된 시간 간격으로 실행 됩니다. 실패한 mongos 를 클러스터 밖으로 자동으로 이동하도록 상태 관리자 를 구성할수 있습니다. 진행률 모니터는 상태 관리자 검사가 중단되거나 응답하지 않도록 합니다.

다음 표에는 사용 가능한 상태 관리자 패싯이 나와 있습니다.

패싯
상태 관리자가 확인하는 사항

configServer

config 서버에 대한 연결과 관련된 클러스터 상태 문제.

dns

DNS 가용성 및 기능과 관련된 클러스터 상태 문제.

ldap

LDAP 가용성 및 기능과 관련된 클러스터 상태 문제.

다음 표는 사용 가능한 상태 관리자 강도 수준을 보여 줍니다.

강도 수준
설명

critical

이 패싯의 상태 관리자는 활성화되어 있으며 오류가 발생하면 실패한 mongos를 클러스터 밖으로 옮길 수 있습니다. 상태 관리자는 activeFaultDurationSecs(으)로 지정된 시간 동안 기다렸다가 mongos를 자동으로 중지하고 클러스터 밖으로 이동합니다.

non-critical

이 패싯의 상태 관리자가 활성화되어 있고 오류를 기록하지만 오류가 발생하면 mongos 클러스터에 남아 있습니다.

off

이 패싯의 상태 관리자는 비활성화되어 있습니다. mongos는 이 패싯에 대해 상태 확인을 수행하지 않습니다. 이것이 기본 강도 수준입니다.

장애가 감지되고 상태 관리자 강도 수준이 critical(으)로 설정되면 상태 관리자는 activeFaultDurationSecs(으)로 지정된 시간 동안 기다렸다가 mongos를 자동으로 중지하고 클러스터 밖으로 이동합니다.

진행률 모니터는 테스트를 실행하여 상태 관리자 검사가 멈추거나 응답하지 않는지 확인합니다. 진행률 모니터는 interval로 지정된 간격으로 이러한 테스트를 실행합니다. 상태 확인이 시작되었지만 deadline에 지정된 제한 시간 내에 완료되지 않으면 진행률 모니터가 mongo를 중지하고 클러스터에서 제거합니다.

필드
설명
단위

interval

상태 관리자가 정체되거나 응답하지 않는지 확인하는 빈도입니다.

밀리초

deadline

mongos가 상태 관리자 검사를 통과하지 못할 경우 자동으로 실패하기 전의 타임아웃을 설정합니다.

다음 예는 상태 관리자를 구성하는 방법을 보여줍니다. 상태 관리자 매개변수에 대한 자세한 내용은 상태 관리자 매개변수를 참조하세요 .

예를 들어 dns Health Manager 패싯을 critical 강도 수준으로 설정하려면 시작 시 다음을 실행하십시오.

mongos --setParameter 'healthMonitoringIntensities={ values:[ { type:"dns", intensity: "critical"} ] }'

또는 실행 중인 mongos에 연결된 mongosh 세션에서 setParameter 명령을 사용하는 경우입니다.

db.adminCommand(
{
setParameter: 1,
healthMonitoringIntensities: { values: [ { type: "dns", intensity: "critical" } ] } } )
}
)

setParameter 로 설정된 파라미터는 재시작 시에도 유지되지 않습니다. 자세한 내용은 SetParameter 페이지를 참조하십시오.

이 설정을 영구적으로 healthMonitoringIntensities 유지하려면 setParameter 다음 예시에서와 같이 옵션을 사용하여 mongos 구성 파일에서 을 설정합니다.

setParameter:
healthMonitoringIntensities: "{ values:[ { type:\"dns\", intensity: \"critical\"} ] }"

healthMonitoringIntensities values은 문서 배열을 받아들입니다. values 각 문서에는 두 개의 필드가 있습니다.

  • type를 클릭하고 상태 관리자 패싯

  • intensity강도 수준

자세한 내용은 healthMonitoringIntensities 참조하십시오.

예를 들어, 30초마다 상태 확인을 실행하도록 ldap Health Manager 패싯을 설정하려면 시작 시 다음을 실행하십시오.

mongos --setParameter 'healthMonitoringIntervals={ values:[ { type:"ldap", interval: "30000"} ] }'

또는 실행 중인 mongos에 연결된 mongosh 세션에서 setParameter 명령을 사용하는 경우입니다.

db.adminCommand(
{
setParameter: 1,
healthMonitoringIntervals: { values: [ { type: "ldap", interval: "30000" } ] } } )
}
)

setParameter 로 설정된 파라미터는 재시작 시에도 유지되지 않습니다. 자세한 내용은 SetParameter 페이지를 참조하십시오.

이 설정을 영구적으로 healthMonitoringIntervals 유지하려면 setParameter 다음 예시에서와 같이 옵션을 사용하여 mongos 구성 파일에서 을 설정합니다.

setParameter:
healthMonitoringIntervals: "{ values: [{type: \"ldap\", interval: 200}] }"

healthMonitoringIntervals values은 문서 배열을 받아들입니다. values 각 문서에는 두 개의 필드가 있습니다.

  • type를 클릭하고 상태 관리자 패싯

  • interval 실행하는 시간 간격(밀리초)

자세한 내용은 healthMonitoringIntervals 참조하십시오.

예를 들어, 실패부터 충돌까지의 기간을 5분으로 설정하려면 시작 시 다음을 실행하십시오.

mongos --setParameter activeFaultDurationSecs=300

또는 실행 중인 mongos에 연결된 mongosh 세션에서 setParameter 명령을 사용하는 경우입니다.

db.adminCommand(
{
setParameter: 1,
activeFaultDurationSecs: 300
}
)

setParameter 로 설정된 파라미터는 재시작 시에도 유지되지 않습니다. 자세한 내용은 SetParameter 페이지를 참조하십시오.

이 설정을 영구적으로 activeFaultDurationSecs 유지하려면 setParameter 다음 예시에서와 같이 옵션을 사용하여 mongos 구성 파일에서 을 설정합니다.

setParameter:
activeFaultDurationSecs: 300

자세한 내용은 activeFaultDurationSecs 참조하십시오.

진행률 모니터는 테스트를 실행하여 상태 관리자 검사가 멈추거나 응답하지 않는지 확인합니다. 진행률 모니터는 interval로 지정된 간격으로 이러한 테스트를 실행합니다. 상태 확인이 시작되었지만 deadline에 지정된 제한 시간 내에 완료되지 않으면 진행률 모니터가 mongo를 중지하고 클러스터에서 제거합니다.

interval 시간을 1000밀리초로 설정하고 deadline 를 300초로 설정하려면 시작 시 다음을 실행하십시오.

mongos --setParameter 'progressMonitor={"interval": 1000, "deadline": 300}'

또는 실행 중인 mongos에 연결된 mongosh 세션에서 setParameter 명령을 사용하는 경우입니다.

db.adminCommand(
{
setParameter: 1,
progressMonitor: { interval: 1000, deadline: 300 } )
}
)

setParameter 로 설정된 파라미터는 재시작 시에도 유지되지 않습니다. 자세한 내용은 SetParameter 페이지를 참조하십시오.

이 설정을 영구적으로 progressMonitor 유지하려면 setParameter 다음 예시에서와 같이 옵션을 사용하여 mongos 구성 파일에서 을 설정합니다.

setParameter:
progressMonitor: "{ interval: 1000, deadline: 300 }"

자세한 내용은 progressMonitor 참조하십시오.

돌아가기

Transparent Hugepages 비활성화