MongoDB 副本集

生产环境中我们不可能只有一台MongoDB服务器,我们需要一个集群来支持应用程序的请求.这里我们通过使用副本集来实现.创建副本集,会有一个主服务器,它主要用于处理应用程序的请求,多个备份服务器,从主服务器备份数据副本, 当主服务崩溃的时候,备份服务器通过选举,满足“大多数”的条件,一台备份服务器可以成为主服务.

       创建副本集

mongod --dbpath="副本集路径" --port 端口号  --replSet 副本集名称 --oplogSize=5(定义日志大小,新建需要开启不需要)
目前我创建的例子:
第一个成员
mongod --dbpath="C:\data\db\node1" --port 1111  --replSet replicationTest --oplogSize=5
第二个成员
mongod --dbpath="C:\data\db\node2" --port 2222  --replSet replicationTest --oplogSize=5
第三个成员
mongod --dbpath="C:\data\db\node3" --port 3333  --replSet replicationTest --oplogSize=5

目前我在不同服务器上面创建了3个不同的mongod实例(我是本机操作的,现实中在不同服务器上面创建), 但是他们彼此不清楚对方的存在,

通过创建配置文件让他们彼此联系在一起.


如果某个副本集成员关闭了,通过命令开启:例 : mongod --dbpath="C:\data\db\node1" --port 1111  --replSet replicationTest

我的副本集名称这里是:replicationTest,下面的host对应的是副本集的成员

config={
  "id":"replicationTest",
  "members":[
		{"_id":0,"host":"127.0.0.1:1111"},
		{"_id":1,"host":"127.0.0.1:2222"},
		{"_id":1,"host":"127.0.0.1:2222"}
	]
}

然后执行初始化

--config是副本集的配置信息
db= (new Mongo("127.0.0.1:1111")).getDB("test")
//初始化副本集
rs.initiate(config)

此时配置结束,这个副本集会自动选出一个主节点,登录到其中一个副本,如下图



stateStrL"Primary" 表示主节点,也可以通过rs.isMaster() 命令查看




此时整个副本集配置结束

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值