mongodb3.2版本制作集群
在传统的mongoDB集群中,configserver使用的是mirror的方式,在其宕机后,则需要重启所有集群成员来链接镜像configserver。在新版本3.2中,configserver支持复制集模式,避免了上述问题的发生。
搭建集群时,shard的搭建方式和传统的完全一样,不同的是mongos和configserver的配置:
configserver:
启动config:mongod --configsvr --replSet configReplSet --port 20000 --dbpath data/config
初始化:rs.initiate(
{_id: "configReplSet",
configsvr: true,
members: [
{ _id: 0, host: "<host1>:<port1>" },
{ _id: 1, host: "<host2>:<port2>" },
{ _id: 2, host: "<host3>:<port3>" }
]
}
)
mongos:
mongos --configdb configReplSet/<cfgsvr1:port1>,<cfgsvr2:port2>,<cfgsvr3:port3>
按照上面的方式配置mongos和configserver,然后把shard添加到mongos即可。
本文出自 “黑色时间” 博客,请务必保留此出处http://blacktime.blog.51cto.com/11722918/1795305
mongodb3.2版本制作集群
标签:mongo3.2 集群
小编还为您整理了以下内容,可能对您也有帮助:
如何部署MongoDB分片集群
这是一种将海量的数据水平扩展的数据库集群系统,数据分表存储在sharding的各个节点上,使用者通过简单的配置就可以很方便地构建一个分布式MongoDB集群。
MongoDB 的数据分块称为 chunk。每个 chunk 都是 Collection 中一段连续的数据记录,通常最大尺寸是 200MB,超出则生成新的数据块。
要构建一个 MongoDB Sharding Cluster,需要三种角色:
Config Server
为了将一个特定的collection存储在多个shard中,需要为该collection指定一个shard key,例如{age: 1} ,shard key可以决定该条记录属于哪个chunk。Config Servers就是用来存储:所有shard节点的配置信息、每个chunk的shard key范围、chunk在各shard的分布情况、该集群中所有DB和collection的sharding配置信息。
Route Process
这是一个前端路由,客户端由此接入,然后询问Config Servers需要到哪个Shard上查询或保存记录,再连接相应的Shard进行操作,最后将结果返回给客户端。客户端只需要将原本发给mongod的查询或更新请求原封不动地发给Routing Process,而不必关心所操作的记录存储在哪个Shard上。转载,仅供参考。
如何部署MongoDB分片集群
这是一种将海量的数据水平扩展的数据库集群系统,数据分表存储在sharding的各个节点上,使用者通过简单的配置就可以很方便地构建一个分布式MongoDB集群。
MongoDB 的数据分块称为 chunk。每个 chunk 都是 Collection 中一段连续的数据记录,通常最大尺寸是 200MB,超出则生成新的数据块。
要构建一个 MongoDB Sharding Cluster,需要三种角色:
Config Server
为了将一个特定的collection存储在多个shard中,需要为该collection指定一个shard key,例如{age: 1} ,shard key可以决定该条记录属于哪个chunk。Config Servers就是用来存储:所有shard节点的配置信息、每个chunk的shard key范围、chunk在各shard的分布情况、该集群中所有DB和collection的sharding配置信息。
Route Process
这是一个前端路由,客户端由此接入,然后询问Config Servers需要到哪个Shard上查询或保存记录,再连接相应的Shard进行操作,最后将结果返回给客户端。客户端只需要将原本发给mongod的查询或更新请求原封不动地发给Routing Process,而不必关心所操作的记录存储在哪个Shard上。转载,仅供参考。
七、rancher搭建Mongodb集群化部署:
一.Mongodb在rancher上面部署:
命令如图:mongod --keyFile /data/key/keyfile --replSet rs --bind_ip localhost,prod
二.Mongodb在服务器上的配置keyfile
这个keyfile怎么生成的我也没试过,官网有一些解释但是没说具体怎么生成如图:
我们需要把这个文件放在:
这些添加好就可以互相添加服务了如图:
其实就是各个容器是不互相影响的,如何让他们在互通就需要互相添加你要用的服务
这个名称如果不配置就用默认的,看你要不要配置
Prod:
Master:
Slave:
三.Mongodb集群测试是否成功:
参考文献: https://www.yii.com/mongodb/mongodb_quick_guide.html
四.Mongodb管理界面mongo-express搭建
成功日志:
五.Mongodb整合对外端口搭建haproxy