mongodb按照_id的哈希分片

12 篇文章 1 订阅

mongodb按照_id的哈希分片

步骤

1、 登陆认证数据库(30000端口)

./mongo -port 30000
mongos> use admin
mongos> db.auth("root","password")
1

2、打开数据库实例分片规则

mongos> db.runCommand({"enablesharding":"dbname"}) 
{ "ok" : 1 }

3、检验是否打开

mongos> sh.status()

在这里插入图片描述
4、创建_id的hashed索引(dbname表示数据库名称,c1表示集合名称)

mongos> use dbname
switched to db dbname
mongos> db.c1.createIndex({_id:'hashed'})
{
	"raw" : {
		"shard1/192.168.37.21:27017,192.168.37.22:27017,192.168.37.23:27017" : {
			"createdCollectionAutomatically" : false,
			"numIndexesBefore" : 1,
			"numIndexesAfter" : 2,
			"ok" : 1,
			"$gleStats" : {
				"lastOpTime" : Timestamp(1565832841, 1),
				"electionId" : ObjectId("5d53b4183e4917ea2d7a03f3")
			}
		}
	},
	"ok" : 1
}

5、创建_id的片键

mongos> use admin
switched to db admin
mongos> db.runCommand({"shardcollection":"dbname.c1","key":{"_id":"hashed"}})
{ "collectionsharded" : "dbname.c1", "ok" : 1 }

6、验证分片是否成功

mongos> sh.status()

在这里插入图片描述

好了,这就是mongodb按照_id的哈希制作分片的方法了,如有问题可与博主一起交流讨论!

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值