【转】Mongodb实现副本集

既然使用Mongodb,就不得不用他的安全备份机制:副本集。

Mongodb副本集是什么东西?

  通俗的讲就是用多台机器进行同一数据的异步同步,从而使多台机器拥有同一数据的多个副本,并且当主库当掉时在不需要用户干预的情况下自动切换其他备份服务器做主库。而且还可以利用副本服务器做只读服务器,实现读写分离,提高负载。

需要指数的是:Mongodb的主从复制模式官方已经不在推荐使用了。

 

那么该如何实现呢?

 我用一台的机器的不同文件夹来做下模拟(生产环境下最好用不同的服务器来做物理隔绝)。

我的文件目录是:

F:\mongodb1\

F:\mongodb2\

F:\mongodb3\

那现在开始操作。

 

 

以上就是启动命令。

参数:port: Mongodb的监听端口

         dbpath:数据文件存储路径

     logpath:系统日志存放路径

         replSet :副本集名称,我用的是test,其他的节点必须使用这个名字做副本集名称。

        logappend:日志的写入模式是追加,不是默认的覆盖模式。

同样对目录mongodb2,mongodb3使用以上命令,端口号分别是:2222,3333,如下:

 

 

各个Mongodb启动以后,就只剩下一步了,把他们串在一起。(此处新打开一个cmd来操作,所有的命令都在这里执行,不要把这个关闭了)

 

 

首先通过执行:mongo --port 1111连接到Mongodb1的实例上

然后定义配置信息:config_test,

最后通过rs.initiate(config_test)启动副本集

至此整个副本集的配置已经完成。完成情况可通过rs.status()命令查看

 

 

这里面的几个参数说明下:

health:1   //1表明状态是正常,0表明异常

state:1     // 1表明是primary,2表明是slave,即做备份的机器

从结果看现在是一台主库,两台备份。

当一台服务器当掉会怎么样呢?

我们把mongodb1停掉,然后再运行rs.status(),如下

 

 

可以看到Mongodb已经当掉,这时候Mongodb3成为了主库。

配置完成后就免不了要做维护,关于维护请看我下篇文章

 

转自 http://www.cnblogs.com/spnt/archive/2012/07/25/2608057.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值