快速建立一个简单的集群

本文介绍了如何使用ShardingTest类创建包含3个分片的MongoDB集群,并详细阐述了启用分片、设置片键以及查看集群状态的步骤。尽管在实际操作中遇到了分片未生效的问题,作者承诺将进一步排查原因。
摘要由CSDN通过智能技术生成
  • 启动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)。有些查询必须被发送到所有分片,这样的查询叫做分散-聚集查询
  • 请注意:在我这里试了很多次,并没有进行分片,无论数据量是多少,都集中在一个分片上,目前我还不知道是什么原因,等我找到问题后在填这个坑
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值