MongoDB教程
MongoDB运算符
MongoDB命令
MongoDB数据库
MongoDB Shell
MongoDB云和工具

MongoDB 分片命令

共享是一种在不同计算机之间分发数据的方法。 MongoDB可使用分片来支持大规模数据集和高吞吐量操作的部署。
MongoDB Sharding Commands

MongoDB sh.addShard()命令

使用此命令添加到分片集群的分片副本集。如果将其添加到群集的碎片中,则会影响块的平衡。它开始传输块以平衡群集。
<replica_set>/<hostname><:port>,<hostname><:port>, ...
语法:
sh.addShard("<replica_set>/<hostname><:port>")
示例:
sh.addShard("repl0/mongodb3.example.net:27327")
输出:
MongoDB分片命令
添加一个分片以指定副本集的名称和副本集的至少一个成员的主机名。

MongoDB sh.addShardTag()命令

该命令以分片中的标签或标识符为后盾。 MongoDB 使用这些标识符将属于标记范围的线程发送到指定的碎片。
示例:
sh.addShardTag("shard0000", "NYC")
sh.addShardTag("shard0001", "LAX")
sh.addShardTag("shard0002", "NRT")
它将在三个不同的分片中添加三个标签。
MongoDB分片命令

MongoDB sh.addShardToZone(shard, zone)

此命令将指定的碎片添加到指定的区域。在版本3.4中引入了此命令。
示例:
仅将那些块分配给该区域覆盖的分片。
sh.addShardToZone("shard0000", "JFK")
sh.addShardToZone("shard0001", "LAX")
sh.addShardToZone("shard0002", "NRT")
//将LGA与shard0000相关联:
sh.addShardToZone("shard0000", "LGA")
//shard0000与LGA区域和JFK区域都关联。

MongoDB sh.addTagRange(namespace, min, max, tag)命令

使用此命令将一系列分片键值附加到分片标签。区域范围始终不包括上限,而包括下限。​​
示例:
我们的分片键为{state: 1,zip: 1},
下面的示例生成一个特定的标签范围,该范围涵盖加利福尼亚州的邮政编码:
sh.addTagRange( "statedb.collection",
                { state: "CA", zip: MinKey },
                { state: "CA", zip: MaxKey },
                "NY"
              )

MongoDB sh.disableBalancing(name_space)命令

使用此命令将禁用参数中指定分片的平衡器。它对块的平衡没有任何影响,但对同一集群中的其他分片集合没有任何影响。

MongoDB sh.enableBalancing(namespace)命令

该命令为参数中的指定分片启用平衡器。它对块的平衡没有任何影响,但对同一集群中的其他分片集合没有任何影响。

MongoDB sh.disableAutoSplit命令

此命令删除配置设置集合中的自动拆分标志。启用分片群集的自动拆分选项后,MongoDB会基于分片键值将其自动拆分成块。
sh.disableAutoSplit()只能从连接到指定mongos的mongo shell执行。实例。如果在mongod实例上运行,sh.disableAutoSplit()命令将返回错误

MongoDB updateZoneKeyRange命令

分片键值范围与区域之间的关系为在此命令的帮助下创建或删除。使用db.runCommand({ })方法运行updateZoneKeyRange。您必须在管理数据库上运行addShardToZone。
语法:
{
  updateZoneKeyRange: <string>,
  min: <document>,
  max: <document>,
  zone: <string> | <null>
}
示例:
以下示例在alpha区域上创建一个下限为1且上限为10的范围:
admin = db.getSiblingDB("admin")
admin.runCommand(
   {
      updateZoneKeyRange : "exampledb.collection",
      min : { a : 1 },
      max : { a : 10 },
      zone : "alpha"
   }
)
以下查询通过将null传递给zone字段来删除先前创建的范围。
admin = db.getSiblingDB("admin")
admin.runCommand(
   {
      updateZoneKeyRange : "exampledb.collection",
      min : { a : 1 },
      max : { a : 10 },
      zone : null
   }
)
现在检查分片的状态:
MongoDB分片命令
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4