MongoDB.local SF, Jan 15: See the speaker lineup & ship your AI vision faster. Use WEB50 to save 50%
Find out more >
Docs Menu
Docs Home
/ /
샤딩

sh.status()

sh.status()

mongos 인스턴스 에서 실행 하면 샤딩 구성에 대한 형식화된 보고서와 샤딩된 클러스터 의 기존 청크에 관한 정보를 인쇄합니다. 기본값 동작은 총 청크 수가 20 이상이면 자세한 청크 정보를 억제합니다.

sh.status() 메서드에는 다음과 같은 매개변수가 있습니다.

Parameter
유형
설명

verbose

부울

선택 사항. 상세도 수준을 결정합니다.

true면 메서드가 표시됩니다.

  • 20개 이상의 청크가 있는 경우에도 샤드의 청크 분포와 각 샤드의 청크 수에 대한 전체 세부 정보입니다.

  • 활성 mongos 인스턴스의 세부 정보입니다.

false면 메서드가 표시됩니다.

  • 청크가 20개 미만인 경우에만 샤드의 청크 분포에 대한 전체 세부 정보입니다. 청크가 20개 이상인 경우 메서드는 대신 각 샤드의 청크 수만 표시하는 too many chunks to print ... 메시지를 반환합니다.

  • 활성 mongos 인스턴스의 버전과 수만 표시됩니다.

기본 상세 정보 값은 false입니다.

이 메서드는 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.

  • MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스

중요

이 명령은 M0, M2 및 M5 클러스터에서 지원되지 않습니다. 자세한 내용은 지원되지 않는 명령을 참조하세요.

샤딩 버전 섹션에는 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>, "partitioned" : <boolean>, "version": <document> }
{ "_id" : <dbname2>, "primary" : <string>, "partitioned" : <boolean>, "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 서버의 최소 호환 버전입니다.

sh.status.sharding-version.currentVersion

currentVersion은 구성 서버의 현재 버전입니다.

sh.status.sharding-version.clusterId

clusterId는 샤딩된 클러스터의 식별자입니다.

버전 3.2에 새로 추가되었습니다.

sh.status.active-mongoses

verbosefalse 인 경우, sh.status.active-mongoses 는 활성 mongos 인스턴스의 버전과 개수를 나열합니다. 활성 mongos 인스턴스는 지난 60 초 이내에 핑된 mongos 인스턴스입니다.

verbosetrue 이면 각 활성 mongos 인스턴스에 대해 다음을 반환합니다.

  • 호스트 이름 및 포트입니다.

  • 인스턴스의 FQDN(정규화된 도메인 이름)의 배열입니다.

  • MongoDB 버전입니다.

  • 가장 최근의 핑 날짜 및 시간입니다.

  • 마지막 핑 이후의 가동 시간입니다.

  • 대기 상태입니다.

active mongoses:
{ "_id" : "<hostname:port>", "advisoryHostFQDNs" : [ "<name>" ], "mongoVersion" : <string>, "ping" : <ISODate>, "up" : <long>, "waiting" : <boolean> }
...
sh.status.autosplit

sh.status.autosplit 현재 자동 분할이 활성화되어 있는지 여부를 나타냅니다.

참고

MongoDB 4.2부터:

mongo 메서드 sh.enableBalancing(namespace)sh.disableBalancing(namespace) 는 자동 분할에 영향을 주지 않습니다.

sh.status.shards._id

_id는 샤드의 이름을 표시합니다.

sh.status.shards.host

host는 샤드의 호스트 위치를 표시합니다.

sh.status.shards.tags

tags에는 샤드에 대한 모든 태그가 표시됩니다. 이 필드는 샤드에 태그가 있는 경우에만 표시됩니다.

sh.status.shards.state

버전 3.4에 새로 추가되었습니다.

state 디스플레이는 다음과 같습니다.

  • 0 샤드가 샤드를 인식하지 못하는 경우.

  • 1 샤드가 샤드를 인식하는 경우.

참고

MongoDB 4.2부터:

mongo 메서드 sh.enableBalancing(namespace)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에는 밸런서에 의해 시작되지 않은 마이그레이션을 포함한 모든 마이그레이션이 포함됩니다.

sh.status.databases._id

_id는 데이터베이스의 이름을 표시합니다.

sh.status.databases.partitioned

partitioned 는 데이터베이스에 샤딩이 활성화되어 있는지 여부를 표시합니다. true 인 경우 데이터베이스에 샤딩이 활성화된 것입니다.

sh.status.databases.primary

primary는 데이터베이스의 프라이머리 샤드를 표시합니다.

sh.status.databases.version

version는 데이터베이스의 버전 정보를 표시합니다.

{ "uuid" : UUID("cc250b66-8638-49f7-a2e8-c6f1220b9d7a"), "lastMod" : 1 }

where:

  • uuid 는 데이터베이스 식별자입니다.

  • lastMod 은 데이터베이스 버전입니다.

sh.status.databases.<collection>.shard-key

shard-key는 샤드 키 사양 문서를 표시합니다.

sh.status.databases.<collection>.unique

unique는 MongoDB가 샤드 키 값에 고유성을 시행하는지 여부를 표시합니다(즉, 기본 샤드 키 인덱스가 고유한지 여부).

버전 3.2에 새로 추가되었습니다.

sh.status.databases.<collection>.balancing

밸런서 가 컬렉션 의 밸런싱을 수행할 수 있는지 여부를 표시합니다. 밸런서 가 활성화되어 있고 이 상태가 true 을 반환하면 밸런서 는 이 컬렉션 을 밸런싱 작업에 포함합니다. 상태가 false 을 반환하면 밸런서 가 이 컬렉션 의 데이터 밸런싱을 수행하지 않음 을 나타냅니다.

버전 3.2에 새로 추가되었습니다.

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() 메서드를 호출합니다.

돌아가기

sh.startBalancer

이 페이지의 내용