设为首页 加入收藏

TOP

MongoDB 分片(sharding)+副本集(replSet)集群搭建
2017-04-07 10:24:28 】 浏览:6059
Tags:MongoDB分片 sharding 副本 replSet 集群 搭建

构建一个sharded cluster需要至少三个组件:

〇 shard: 每一个shard包括了切片数据的子集,也可以被部署为“副本集”
〇 mongos: 作为一个“查询路由”,在客户端和shard cluster之间作为一个中间接口,类似于MySQL的一些中间proxy。
可以通过mongo shell或者mongodb driver直连mongos
〇 config server: 一个存储了sharded cluster的元数据和配置信息的server,同样也可以被部署为“副本集”(mongodb 3.2)





此处用了四台服务器实践,资源分配如下:




config server(186):


mongos(185):


此处先给两个shard节点做副本集,此处将通过端口区分不同实例:

shard1(187):


通过mongo shell进入任意一个实例,此处选择的是27017实例,配置副本集并初始化


以下为mongo shell操作:


可以检查一下副本集状态


再给shard2做三个副本集
shard2(188):


和shard1一样,通过mongo shell进入任意一个实例,此处选择的是27017实例,配置副本集并初始化


最后在mongos(185)的机器上添加shard节点


进入mongo shell,通过addshard来加入shard节点,多个副本集用逗号分隔:


此处对sano1y库的testtb使用hash策略:


目前为止,已经对sano1y库的testtb集合进行了shard配置。



测试:


稍等片刻,等待插入完毕:


进入shard1(187)的PRIMARY实例检查


另外如果到shard2可以看到shard1这些不连续的id。
可发现shard1和2中的document数量,还是比较均匀的。

shard1: 49983
shard2: 50017



至此,分片集群搭建基本完成。
当然,config server现在存在着单点的问题,同样也可以将config server配置成一组replSet,其本质是mongod服务器。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇MySQL Transportable Tablespace(.. 下一篇MongoDB主从复制(Master-Slave Re..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目