MongoDB:分片的配置
来源:互联网 发布:seo实战密码下载 编辑:程序博客网 时间:2024/06/05 17:48
MongoDB:分片的配置
背景
当MySQL数据库的存储容量变得十分庞大时,自然会想到分库分表。同样的,MongoDB也有这种方法,一台服务器不能够存储海量数据,其读写的性能也会降低,此时可以通过在多台机器上分片存储数据来解决这个问题。
使用分片的原因
- 本地磁盘不足
- 数据请求量巨大,内存不足
- 单个副本集限制
- 。。。
MongoDB分片介绍
MongoDB分片有三个组成部分:
1 Shard:分片服务器,用于存储实际数据,可以是一个MongoDB服务器,MongoDB主从,MongoDB集群
2 Config:配置服务器,存储各种的配置信息,包括分片信息,分片的状态等
3 Router:前端路由,应用程序可以使用这个路由来访问这个分片集群
具体的配置方法
我使用六个MongoDB服务器搭建这个分片集群,使用本地的不同端口来模拟不同的服务器,本地的环境是windows10(64位),需要注意的是,配置分片集群时,如果我们使用的是localhost是可以配置成功一部分,但是在之后的添加分片服务器和访问时会出现错误,所以使用ip地址来启动服务器。
分片服务器集群的设计
MongoDB1,MongoDB2:单独的服务器
MongoDB3,MongoDB4:组成一个副本集
MongoDB5:作为配置服务器
MongoDB6:路由服务器
启动分片服务器
注意在启动时,以ip地址启动,需要添加–shardsvr: mongod --dbpath=D:\MongoDB1\data\db --bind_ip=192.168.1.118 --port=1111 —shardsvr
mongod --dbpath=D:\MongoDB1\data\db --bind_ip=192.168.1.118 --port=2222 —shardsvr
mongod --dbpath=D:\MongoDB3\data\db --bind_ip=192.168.1.118 --port=3333 --replSet=rs1 --shardsvr
mongod --dbpath=D:\MongoDB4\data\db --bind_ip=192.168.1.118 --port=4444 --replSet=rs1 --shardsvr
在集群分片服务器启动后,需要对该集群服务器进行初始化rs.initiate()
,和确定主服务器rs.conf()
启动配置服务器
mongod --port=5555 --bind_ip=192.168.1.118 --dbpath=D:\MongoDB5\data\db --replSet=rs0 –configsvr
在最新版的分片配置中,该配置服务器一定要配置为MongoDB集群,在服务启动后,同样要对集群服务器进行初始化,和确定主服务器
启动路由服务器
mongos --bind_ip=192.168.1.118 --port=6666 --configdb=rs0/192.168.1.118:5555
是由mongos方式进行启动,而不是mongo
添加分片服务器到集群中
在启动mongos后,需要选择admin数据库use admin
添加分片服务器: sh.addShard('192.168.1.118:1111')
或者: db.runCommand({ addshard:"192.168.1.118:2222" })
添加分片集群服务器: sh.addShard("rs1/192.168.1.118:3333,192.168.1.118:4444")
使用sh.status()
查看分片的状态
分片配置结束
这样,分片集群配置结束了,如何使用分片集群目前还是不是很明白,之后搞明白的话,我会接下来在写的。
当然,我也希望各位大神如果有什么建议的话也可以告诉我
- (*)Mongodb的分片配置
- MongoDB:分片的配置
- MongoDB的分片集群配置
- Mongodb分片的简单配置
- mongodb的分片配置(五)
- mongodb集群与分片的配置说明
- mongodb集群与分片的配置说明
- 配置MongoDB集群分片
- Mongodb分片配置
- 配置MongoDB集群分片
- 配置MongoDB集群分片
- MongoDB分片集群配置
- Mongodb 分片配置
- MongoDB分片配置
- mongodb分布式配置:mongodb分片
- MongoDB实战系列之五:mongodb的分片配置
- MongoDB实战系列之五:mongodb的分片配置
- MongoDB实战系列之五:mongodb的分片配置
- Windows下Redis的安装使用
- nefuoj1204-区间dp&前缀处理-分段乘积最大
- TCP三次握手四次挥手
- 中间人攻击
- SSL2687 2017年8月14日提高组T1 跳跃(kruskal,并查集)
- MongoDB:分片的配置
- NYOJ5平台最优程序
- Number Sequence
- 关于Fragment中getActivity为Null的问题
- hdu 5933
- 暑假集训第十五天
- angular学习总结二——数据&事件绑定(ngIf、ngFor、ngSwitch、ngModel)
- Java 多catch
- java 16进制字符串 转 byte[] 转文件 文件 转byte[] 转16进制字符串