- 启动mongo shell
mongo --nodb
- 使用
Sharding Test
类创建集群
这个命令会创建一个包含3个分片的集群cluster=new ShardingTets({"shards": 3, "chunksize": 1})
- 查看这三个集群和mongos的端口号,在输完上面那条命令之后下面可以找到
- 再打开一个shell用来连接到集群的mongos
- 运行
sh.status()
可以看到集群的状态
- 对某个集合启用分片
- 在希望作为片键的键上创建索引
- 依据"username"对集合分片
- 再次运行sh.status()
- 数据块列表开始的键值和结束的键值:
$minkKey
和$maxKey
。可以将$minKey
认为是“负无穷”,它比MongoDB中的任何值都要小。类似地,可以将$maxKey
认为是“正无穷”,它比MongoDB中的任何值都要大 - 查询单个数据的过程
- 查询所有数据的过程【包含所有分片】
- 包含片键的查询能够直接被发送到目标分片或者是集群分片的一个子集,这样的查询叫做定向查询(targeted query)。有些查询必须被发送到所有分片,这样的查询叫做分散-聚集查询
- 请注意:在我这里试了很多次,并没有进行分片,无论数据量是多少,都集中在一个分片上,目前我还不知道是什么原因,等我找到问题后在填这个坑
快速建立一个简单的集群
最新推荐文章于 2023-09-22 19:56:59 发布
本文介绍了如何使用ShardingTest类创建包含3个分片的MongoDB集群,并详细阐述了启用分片、设置片键以及查看集群状态的步骤。尽管在实际操作中遇到了分片未生效的问题,作者承诺将进一步排查原因。
摘要由CSDN通过智能技术生成