sh.status()
정의
sh.status()
mongos
인스턴스 에서 실행 하면 샤딩 구성에 대한 형식화된 보고서와 샤딩된 클러스터 의 기존 청크에 관한 정보를 인쇄합니다. 기본값 동작은 총 청크 수가 20 이상이면 자세한 청크 정보를 억제합니다.sh.status()
메서드에는 다음과 같은 매개 변수가 있습니다.Parameter유형설명verbose
부울선택 사항. 상세도 수준을 결정합니다.
true
면 메서드가 표시됩니다.20개 이상의 청크가 있는 경우에도 샤드의 청크 분포와 각 샤드의 청크 수에 대한 전체 세부 정보입니다.
활성 mongos 인스턴스의 세부 정보입니다.
false
면 메서드가 표시됩니다.청크가 20개 미만인 경우에만 샤드의 청크 분포에 대한 전체 세부 정보입니다. 청크가 20개 이상인 경우 메서드는 대신 각 샤드의 청크 수만 표시하는
too many chunks to print ...
메시지를 반환합니다.활성 mongos 인스턴스의 버전과 수만 표시됩니다.
기본 상세 정보 값은
false
입니다.
출력 예시
샤딩 버전 섹션에는 config 데이터베이스에 대한 정보가 표시됩니다.
--- Sharding Status --- sharding version: { "_id" : <num>, "minCompatibleVersion" : <num>, "currentVersion" : <num>, "clusterId" : <ObjectId> }
샤드 섹션에는 샤드에 대한 정보가 나열됩니다. 이 섹션의 각 샤드에 이름, 호스트, 관련 태그(있는 경우)가 표시됩니다.
shards: { "_id" : <shard name1>, "host" : <string>, "tags" : [ <string> ... ], "state" : <num> } { "_id" : <shard name2>, "host" : <string>, "tags" : [ <string> ... ], "state" : <num> } ...
Active mongos
Instances(활성 인스턴스) 섹션에는 기본적으로 지난 60초 동안 활성 상태였던 mongos
인스턴스의 버전 및 수에 대한 정보가 표시됩니다.
active mongoses: <version> : <num>
verbose
매개 변수를 true로 설정하여 메서드를 실행하는 경우 활성 mongos
인스턴스 섹션에 추가 정보가 표시됩니다.
active mongoses: { "_id" : "<hostname:port>", "advisoryHostFQDNs" : [ "<name>" ], "mongoVersion" : <string>, "ping" : <ISODate>, "up" : <long>, "waiting" : <boolean> }
자동 분할은 자동 분할의 활성화 여부에 대한 정보를 표시합니다.
autosplit: Currently enabled: <yes|no>
밸런서 섹션에는 밸런서의 상태에 대한 정보가 나열됩니다. 이를 통해 현재 밸런서 작업에 대한 통찰력을 얻을 수 있으며, 분할되지 않은 샤딩된 클러스터의 문제를 해결할 때 유용할 수 있습니다.
balancer: Currently enabled: yes Currently running: yes Collections with active migrations: config.system.sessions started at Fri May 15 2020 17:38:12 GMT-0400 (EDT) Failed balancer rounds in last 5 attempts: 0 Migration Results for the last 24 hours: 416 : Success 1 : Failed with error 'aborted', from shardA to shardB
데이터베이스 섹션에는 데이터베이스에 대한 정보가 나열됩니다. 데이터베이스 이름과 각 데이터베이스의 프라이머리 샤드가 표시됩니다.
databases: { "_id" : <dbname1>, "primary" : <string>, "version": <document> } { "_id" : <dbname2>, "primary" : <string>, "version": <document> } ...
샤딩된 컬렉션 섹션에서는 샤딩된 컬렉션의 샤딩 세부 정보에 대한 정보를 제공합니다. 각 샤딩된 컬렉션에 대해 이 섹션에는 샤드 키, 샤드당 청크 수, 샤드 간 청크 분포 [1], 샤드 키 범위에 대한 태그 정보(있는 경우)가 표시됩니다.
<dbname>.<collection> shard key: { <shard key> : <1 or hashed> } unique: <boolean> balancing: <boolean> chunks: <shard name1> <number of chunks> <shard name2> <number of chunks> ... { <shard key>: <min range1> } -->> { <shard key> : <max range1> } on : <shard name> <last modified timestamp> { <shard key>: <min range2> } -->> { <shard key> : <max range2> } on : <shard name> <last modified timestamp> ... tag: <tag1> { <shard key> : <min range1> } -->> { <shard key> : <max range1> } ...
출력 필드
샤딩 버전
sh.status.sharding-version._id
_id
는 버전 세부 사항의 식별자입니다.
sh.status.sharding-version.minCompatibleVersion
minCompatibleVersion
은 config 서버의 최소 호환 버전입니다.6.2 이전의 MongoDB 버전에서는 이 필드가
config.version
컬렉션에 포함되지만mongosh
2.0.0 이상에서는sh.status()
출력에 필드가 반환되지 않습니다. MongoDB 6.2부터 이 필드는 제거되며mongosh
버전이나 다른 클라이언트 애플리케이션에서 반환되지 않습니다. 대신 버전 정보를 얻으려면 기능 호환성 버전 (fcv) 을 참조하십시오.
sh.status.sharding-version.currentVersion
currentVersion
은 구성 서버의 현재 버전입니다.6.2 이전의 MongoDB 버전에서는 이 필드가
config.version
컬렉션에 포함되지만mongosh
2.0.0 이상에서는sh.status()
출력에 필드가 반환되지 않습니다. MongoDB 6.2부터 이 필드는 제거되며mongosh
버전이나 다른 클라이언트 애플리케이션에서 반환되지 않습니다. 대신 버전 정보를 얻으려면 기능 호환성 버전 (fcv) 을 참조하십시오.
sh.status.sharding-version.clusterId
clusterId
는 샤딩된 클러스터의 식별자입니다.
활성 mongos
인스턴스
sh.status.active-mongoses
verbose
가false
인 경우sh.status.active-mongoses
는 활성mongos
인스턴스의 버전과 개수를 나열합니다. 활성mongos
인스턴스는 지난 60초 이내에 핑된mongos
인스턴스입니다.verbose
가true
이면sh.status.active-mongoses
는 다음 필드를 포함하는 각 활성mongos
인스턴스에 대한 문서를 반환합니다.필드데이터 유형설명_id
문자열advisoryHostFQDNs
문자열 배열mongos
의 정규화된 도메인 이름 (FQDN) 의 배열.created
날짜mongos
가 시작된 시간입니다.버전 5.2에 추가되었습니다.
mongoVersion
문자열mongos
가 실행 중인 MongoDB 버전입니다.ping
날짜up
NumberLong마지막 핑을 기준으로mongos
가 작동한 시간 (초) 입니다.waiting
부울이 필드는 항상true
이며 이전 버전과의 호환성을 위해서만 포함됩니다.active mongoses: { "_id" : "<hostname:port>", "advisoryHostFQDNs" : [ "<name>" ], "created" : <ISODate>, "mongoVersion" : <string>, "ping" : <ISODate>, "up" : <long>, "waiting" : <boolean> } ...
자동 분할
sh.status.autosplit
sh.status.autosplit
현재 자동 분할이 활성화되어 있는지 여부를 나타냅니다.
참고
MongoDB 6.0.3부터 자동 청크 분할이 수행되지 않습니다. 이는 밸런싱 정책 개선 때문입니다. 자동 분할 명령이 여전히 존재하지만 작업을 수행하지 않습니다.
6.1 이전 MongoDB 버전에서는 다음과 같습니다.
balancerStart
2} 명령과mongo
셸 도우미 메서드sh.startBalancer()
및 는 샤딩된 클러스터에 대한 자동 분할도 활성화합니다.sh.setBalancerState(true)
To disable auto-splitting when the balancer is enabled, you can usesh.disableAutoSplit()
.balancerStop
2} 명령과mongo
셸 도우미 메서드 및sh.stopBalancer()
sh.setBalancerState(false)
는 샤딩된 클러스터에 대한 자동 분할도 비활성화합니다.To enable auto-splitting when the balancer is disabled, you can usesh.enableAutoSplit()
.
mongo
sh.enableBalancing(namespace)
0}sh.disableBalancing(namespace)
메서드 및 은 자동 분할에 영향을 주지 않습니다.
샤드
sh.status.shards._id
_id
는 샤드의 이름을 표시합니다.
sh.status.shards.host
host
는 샤드의 호스트 위치를 표시합니다.
sh.status.shards.tags
tags
에는 샤드에 대한 모든 태그가 표시됩니다. 이 필드는 샤드에 태그가 있는 경우에만 표시됩니다.
sh.status.shards.state
state
디스플레이는 다음과 같습니다.0
샤드가 샤드를 인식하지 못하는 경우.1
샤드가 샤드를 인식하는 경우.
밸런서
참고
MongoDB 6.0.3부터 자동 청크 분할이 수행되지 않습니다. 이는 밸런싱 정책 개선 때문입니다. 자동 분할 명령이 여전히 존재하지만 작업을 수행하지 않습니다.
6.1 이전 MongoDB 버전에서는 다음과 같습니다.
balancerStart
2} 명령과mongo
셸 도우미 메서드sh.startBalancer()
및 는 샤딩된 클러스터에 대한 자동 분할도 활성화합니다.sh.setBalancerState(true)
To disable auto-splitting when the balancer is enabled, you can usesh.disableAutoSplit()
.balancerStop
2} 명령과mongo
셸 도우미 메서드 및sh.stopBalancer()
sh.setBalancerState(false)
는 샤딩된 클러스터에 대한 자동 분할도 비활성화합니다.To enable auto-splitting when the balancer is disabled, you can usesh.enableAutoSplit()
.
mongo
sh.enableBalancing(namespace)
0}sh.disableBalancing(namespace)
메서드 및 은 자동 분할에 영향을 주지 않습니다.
sh.status.balancer.currently-enabled
currently-enabled
는 현재 샤딩된 클러스터에서 밸런서가 활성화되어 있는지 여부를 나타냅니다.
sh.status.balancer.currently-running
currently-running
은 밸런서가 현재 실행 중인지 나타냅니다. 즉, 밸런서가 현재 클러스터의 균형을 맞추고 있는지 여부를 나타냅니다.
sh.status.balancer.collections-with-active-migrations
collections-with-active-migrations
는 마이그레이션이 활성화된 컬렉션의 이름을 나열하고 마이그레이션이 시작된 시점을 지정합니다. 활성 마이그레이션이 없는 경우 이 필드는sh.status()
출력에 나타나지 않습니다.
sh.status.balancer.failed-balancer-rounds-in-last-5-attempts
failed-balancer-rounds-in-last-5-attempts
는 지난 5번의 밸런싱 시도 중 실패한 밸런서 라운드의 수를 표시합니다. 청크 마이그레이션이 실패하면 밸런서 라운드가 실패합니다.
sh.status.balancer.last-reported-error
last-reported-error
는 가장 최근의 밸런서 오류 메시지를 나열합니다. 오류가 없는 경우 이 필드는sh.status()
출력에 나타나지 않습니다.
sh.status.balancer.time-of-reported-error
time-of-reported-error
는 가장 최근에 보고된 오류의 날짜와 시간을 제공합니다.
sh.status.balancer.migration-results-for-the-last-24-hours
지난 24 시간 동안의 마이그레이션 횟수와 실패한 마이그레이션의 오류 메시지를
migration-results-for-the-last-24-hours
에 표시합니다. 최근 마이그레이션이 없으면migration-results-for-the-last-24-hours
No recent migrations
를 표시합니다.migration-results-for-the-last-24-hours
에는 밸런서에 의해 시작되지 않은 마이그레이션을 포함한 모든 마이그레이션이 포함됩니다.
Databases
sh.status.databases._id
_id
는 데이터베이스의 이름을 표시합니다.
sh.status.databases.version
version
는 데이터베이스의 버전 정보를 표시합니다.{ "uuid" : UUID("cc250b66-8638-49f7-a2e8-c6f1220b9d7a"), "lastMod" : 1 } where:
uuid
는 데이터베이스 식별자입니다.lastMod
은 데이터베이스 버전입니다.
샤딩된 Collection
sh.status.databases.<collection>.shard-key
shard-key
는 샤드 키 사양 문서를 표시합니다.
sh.status.databases.<collection>.unique
unique
는 MongoDB가 샤드 키 값에 고유성을 시행하는지 여부를 표시합니다(즉, 기본 샤드 키 인덱스가 고유한지 여부).
sh.status.databases.<collection>.balancing
밸런서 가 컬렉션 의 밸런싱을 수행할 수 있는지 여부를 표시합니다. 밸런서 가 활성화되어 있고 이 상태가
true
을 반환하면 밸런서 는 이 컬렉션 을 밸런싱 작업에 포함합니다. 상태가false
을 반환하면 밸런서 가 이 컬렉션 의 데이터 밸런싱을 수행하지 않음 을 나타냅니다.
sh.status.databases.<collection>.chunks
chunks
에는 모든 샤드와 각 샤드에 있는 청크의 수가 나열됩니다.
sh.status.databases.<collection>.chunk-details
chunk-details
에는 청크 [1]의 세부 정보가 나열되어 있습니다.청크를 정의하는 샤드 키 값의 범위입니다,
청크가 있는 샤드와
청크의 마지막 수정 타임스탬프입니다.
sh.status.databases.<collection>.tag
tag
는 다양한 샤드 키 값과 연결된 태그의 세부 정보를 나열합니다.
[1] | (1, 2) 전체 청크 수가 20개 미만인 경우 기본적으로 샤드 컬렉션 섹션에는 청크 정보가 표시됩니다. 청크가 20개 이상일 때 정보를 표시하려면 verbose 매개 변수를 true , 즉 sh.status(true) 로 설정한 상태에서 sh.status() 메서드를 호출합니다. |