您的位置:首页 > 数据库 > Mongodb

MongoDB分布式

2015-08-01 23:07 591 查看
mongodb的集群(主从复制,副本集)

因为单台计算机性能不够,对外的并发有限,我们可以利用多台计算机对外挺服务,因为多台计算机提供服务的时候我们能够在处理客户端的时候
他的这样的一个并发数能达到比较均衡的需求

读写分离
从节点相当于主节点一个镜像
主节点干什么事情,从节点保持一致
1.主节点写数据
2.从节点读取数据(不能够写数据)

启动主节点:
C:\Users\lenovo>mongod --dbpath=D:\master --port 10000 -master
启动从节点
C:\Users\lenovo>mongod --dbpath=F:\savle --port 10001 --slave --source localhost:10000

连接主节点:mongo localhost:10000
连接从节点:mongo localhost:10001

副本集
1.副本集就是有自动故障恢复功能的主从集群
主从集群和副本集最大的区别就是副本集没有固定的'主节点',整个集群会选出一个‘主节点',当其挂掉后,又在剩下的从节点中选中其他节点为'主节点',副本集总有一个活跃点(primary)和一个或多个备份点(secondary)

副本集主要是用来做故障恢复的

我们在实际的部署环境中,一个节点有可能充当多个角色
在主从复制里面是从节点
在副本集里面是备份节点

启动节点1:
mongod --dbpath D:\mongodb\dbs\node1 --logpath D:\mongodb\logs\node1\logs.txt --logappend --port 10001 --replSet itcast/localhost:10002? --master

启动节点2:
mongod --dbpath D:\mongodb\dbs\node2 --logpath D:\mongodb\logs\node2\logs.txt --logappend --port 10002 --replSet itcast/localhost:10001

启动节点3:??
mongod --dbpath D:\mongodb\dbs\node3 --logpath D:\mongodb\logs\node3\logs.txt --logappend --port 10003 --replSet itcast/localhost:10001,localhost:10002

初始化节点(只能初始化一次):随便登录一个节点,以10001为例
?mongo localhost:10001/admin
?db.runCommand({"replSetInitiate":{??"_id":“itcast",??"members":[???{???? "_id":1,???? "host":"localhost:10001",????? "priority":3??},???{??? "_id":2,???? "host":"localhost:10002",??? "priority":2???},???{??? "_id":3,???? "host":"localhost:10003",????? "priority":1??}?]}});

?"priority"设置优先级,默认优先级为1,可以是1-1000的数字

查询当前主库,登录10002

mongo localhost:10002
db.$cmd.findOne ( {ismaster: 1 } );

关闭10001服务Dos命令窗口,? 登录10002查询当前主库

mongo localhost:10002
db.$cmd.findOne ( {ismaster: 1 } );

mongodb的分布式
单台计算机的存储于硬件是有限制的,我们可以利用多台机器的硬盘来存储数据,可以利用
多台计算的cpu或其他的一些硬件资源去读写数据,这样我们就可以提升我们性能

MongoDb的基本思想就是将集合切分成小块
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: