我只需要执行sh.status()命令来查看我的mongodb数据库的分片状态。
这个命令需要在mongos上执行,而且我还不清楚如何执行它。我的猜测是我应该直接从mongos服务器启动一个mongo shell,但是Atlas似乎没有直接访问它们(我可能错了)。
编辑:
以下是从连接到群集的远程Mongo Shell执行命令时遇到的异常:
mongoc-shard-00-00-wddpo(mongos-3.6.0)[mongos] mydb> sh.status()
printStackTrace@src/mongo/shell/utils.js:73:15
DBCollection.prototype.aggregate@/Users/jondoe/.mongorc.js:98:13
sh.getRecentMigrations@/Users/jondoe/.mongorc.js:1388:28
printShardingStatus@/Users/jondoe/.mongorc.js:1497:30
sh.status@src/mongo/shell/utils_sh.js:89:5
@(shell):1:1
2017-12-12T16:31:59.985+0100 E QUERY [thread1] uncaught exception: aggregate failed: {
"ok": 0,
"errmsg": "The 'cursor' option is required, except for aggregate with the explain argument",
"code": 9,
"codeName": "FailedToParse",
"$clusterTime": {
"clusterTime": Timestamp(1513092719, 27),
"signature": {
"hash": BinData(0, "Ok0isqe1nHr+D/I9344pcNdxapA="),
"keyId": NumberLong("6496824061736255491")
}
},
"operationTime": Timestamp(1513092719, 27)
}
更新
由于我使用的是Mongo Shell 3.4,因此我更新到了3.6 经过一些清理(我必须在安装3.6之前手动删除home / .mongorc.js,否则它会弄得一团糟)一切都按预期工作
mongo "mongodb+srv://mongoc-wddpo.mongodb.net/mydb" --authenticationDatabase admin --username jondoe --password strongestpasswordever
MongoDB shell version v3.6.0
connecting to: mongodb+srv://mongoc-wddpo.mongodb.net/mydb
MongoDB server version: 3.6.0
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
http://docs.mongodb.org/
Questions? Try the support group
http://groups.google.com/group/mongodb-user
mongos> sh.status()
--- Sharding Status ---
sharding version: {
"_id" : 1,
"minCompatibleVersion" : 5,
"currentVersion" : 6,
"clusterId" : ObjectId("5a2953b4841c53c7b10a53f5")
}
shards:
{ "_id" : "Mongoc-shard-0", "host" : "Mongoc-shard-0/mongoc-shard-00-00-wddpo.mongodb.net:27017,mongoc-shard-00-01-wddpo.mongodb.net:27017,mongoc-shard-00-02-wddpo.mongodb.net:27017", "state" : 1 }
{ "_id" : "Mongoc-shard-1", "host" : "Mongoc-shard-1/mongoc-shard-01-00-wddpo.mongodb.net:27017,mongoc-shard-01-01-wddpo.mongodb.net:27017,mongoc-shard-01-02-wddpo.mongodb.net:27017", "state" : 1 }
{ "_id" : "Mongoc-shard-2", "host" : "Mongoc-shard-2/mongoc-shard-02-00-wddpo.mongodb.net:27017,mongoc-shard-02-01-wddpo.mongodb.net:27017,mongoc-shard-02-02-wddpo.mongodb.net:27017", "state" : 1 }
{ "_id" : "Mongoc-shard-3", "host" : "Mongoc-shard-3/mongoc-shard-03-00-wddpo.mongodb.net:27017,mongoc-shard-03-01-wddpo.mongodb.net:27017,mongoc-shard-03-02-wddpo.mongodb.net:27017", "state" : 1 }
active mongoses:
"3.6.0" : 12
autosplit:
Currently enabled: yes
balancer:
Currently enabled: yes
Currently running: no
Failed balancer rounds in last 5 attempts: 0
Migration Results for the last 24 hours:
No recent migrations
databases:
{ "_id" : "config", "primary" : "config", "partitioned" : true }
config.system.sessions
shard key: { "_id" : 1 }
unique: false
balancing: true
chunks:
Mongoc-shard-0 1
{ "_id" : { "$minKey" : 1 } } -->> { "_id" : { "$maxKey" : 1 } } on : Mongoc-shard-0 Timestamp(1, 0)
{ "_id" : "mydb", "primary" : "Mongoc-shard-1", "partitioned" : false }
答案 0 :(得分:1)
部署分片群集时,您可以连接到mongos并执行sh.status()
。
在群集概述中,单击“连接”,选择“使用Mongo Shell连接”,然后使用提供的连接字符串。
<强>更新强>
刚刚使用库存ubuntu客户端升级到v3.6和新的v3.6集群进行了测试。
客户:
$ mongo --version
MongoDB shell version v3.6.0
git version: a57d8e71e6998a2d0afde7edc11bd23e5661c915
OpenSSL version: OpenSSL 1.0.2g 1 Mar 2016
allocator: tcmalloc
modules: none
build environment:
distmod: ubuntu1604
distarch: x86_64
target_arch: x86_64
从Atlas UI复制粘贴的连接字符串:
$ mongo "mongodb+srv://cluster14-74xqx.mongodb.net/test" --authenticationDatabase admin --username user --password password
shell:
MongoDB shell version v3.6.0
connecting to: mongodb+srv://cluster14-74xqx.mongodb.net/test
MongoDB server version: 3.6.0
mongos> sh.status()
--- Sharding Status ---
sharding version: {
"_id" : 1,
"minCompatibleVersion" : 5,
"currentVersion" : 6,
"clusterId" : ObjectId("5a3106712d26976bf628d75b")
}
shards:
{ "_id" : "Cluster14-shard-0", "host" : "Cluster14-shard-0/cluster14-shard-00-00-74xqx.mongodb.net:27017,cluster14-shard-00-01-74xqx.mongodb.net:27017,cluster14-shard-00-02-74xqx.mongodb.net:27017", "state" : 1 }
{ "_id" : "Cluster14-shard-1", "host" : "Cluster14-shard-1/cluster14-shard-01-00-74xqx.mongodb.net:27017,cluster14-shard-01-01-74xqx.mongodb.net:27017,cluster14-shard-01-02-74xqx.mongodb.net:27017", "state" : 1 }
active mongoses:
"3.6.0" : 6
autosplit:
Currently enabled: yes
balancer:
Currently enabled: yes
Currently running: no
Failed balancer rounds in last 5 attempts: 0
Migration Results for the last 24 hours:
No recent migrations
databases:
{ "_id" : "config", "primary" : "config", "partitioned" : true }