mongodb中怎么利用分片集群创建分片集合

MongoDB 中怎么利用分片集群创建分片集合,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

在梁平等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站制作、成都网站设计、外贸营销网站建设 网站设计制作按需网站建设,公司网站建设,企业网站建设,品牌网站制作,成都全网营销推广,外贸网站建设,梁平网站建设费用合理。

1.创建数据库,直接use 即可,没有的话,如果你创建集合了,他就自动创建了!

use liuwenhe

2.插入数据,如果hezi集合不存在,则自动创建

for (var i = 0; i < 100; i++) { db.hezi.insert({name: i}); }

3.为hezi集合的name列添加索引,因为如果要以name列作为分片键,需要有索引;

如果集合是空的,可以不创建索引直接进行下一步的分片,会自动创建索引;如果集合不为空,必须为分片建创建索引才行!,如果你要以hash规则分片,需要创建hash索引!

mongos> db.hezi.createIndex({"name":1})

mongos> db.hezi.createIndex({name:'hashed'}); 创建hash索引

4.为数据库开启分片,这样才能对数据库liuwenhe下的集合做分片!

mongos> sh.enableSharding("liuwenhe");

5.开启集合hezi的分片!

1:升序,-1降序,hashed:哈希分布

sh.shardCollection("liuwenhe.hezi",{name:1})                            ----基于值的分片

sh.shardCollection("liuwenhe.hezi", { "name" : "hashed" })        ----hash规则分片

6.查看集合是否开启分片:

mongos>use liuwenhe

mongos> db.hezi.stats().sharded

true

7.sh.status() 查看分片的信息:

可以看到liuhe库的主分片是s1092111427021,然后liuhe.hezi这个集合的分片键是name列升序,liuhe.hezi这个集合目前就1个chunk,在s1092111427021节点上,所以这个时候你去别的节点,例如s1092111427020上看,是没有这个库和这个集合的,当你向liuhe.hezi插入数据,直到触发发生chunk迁移之后,这时候在别的分片才会有可能有这个集合!

mongos>sh.status()

{ "_id" : "liuwehehe", "primary" : "s1092111427021", "partitioned" : true, "version" : { "uuid" : UUID("46373baa-3f93-42c3-a7fd-51225ef00636"), "lastMod" : 1 } }

liuwenhe.hezi

shard key: { "name" : 1 }

unique: true

balancing: true

chunks:

s1092111427021 1

{ "name" : { "$minKey" : 1 } } -->> { "name" : { "$maxKey" : 1 } } on : s1092111427021 Timestamp(1, 0)

8.当数据超过1个chunk之后,均匀分布在多个节点上,如下所示:

不断插入数据,直到触发chunk迁移:

for (var i = 0; i < 1000000000000000; i++) { db.hezi.insert({name: i}); }

不断查看分片集群状态,如下所示三个节点上基本均匀的分布了 20、19、20个chunk:

mongos>sh.status()

liuwenhe.hezi

shard key: { "name" : 1 }

unique: false

balancing: true

chunks:

s1092111427019 20

s1092111427020 19

s1092111427021 20

看完上述内容,你们掌握mongodb 中怎么利用分片集群创建分片集合的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!

名称栏目:mongodb中怎么利用分片集群创建分片集合
标题路径:https://www.cdcxhl.com/article4/igspoe.html

成都网站建设公司_创新互联,为您提供品牌网站设计手机网站建设静态网站建站公司外贸网站建设微信公众号

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

商城网站建设