天天看点

【MongoDB】windows平台搭建Mongo数据库复制集(类似集群)(二)

在上篇博客中,我们主要阐述了在windows平台下如何搭建mongodb复制集。详细博客地址:

由于篇幅有限在上篇没有对结果进行验证,在本篇博客中我们主要进行测试:

通过rs.status()命令我们可以查询到各个节点运行正常。

【MongoDB】windows平台搭建Mongo数据库复制集(类似集群)(二)

一、数据同步测试

【MongoDB】windows平台搭建Mongo数据库复制集(类似集群)(二)

在28011、28012端口上进行插入:

【MongoDB】windows平台搭建Mongo数据库复制集(类似集群)(二)

查看原因:网上找到答案

首先这是正常的,因为SECONDARY是不允许读写的, 在写多读少的应用中,使用Replica Sets来实现读写分离。通过在连接时指定或者在主库指定slaveOk,由Secondary来分担读的压力,Primary只承担写操作。对于replica set 中的secondary 节点默认是不可读的。

【MongoDB】windows平台搭建Mongo数据库复制集(类似集群)(二)

相详细请看:http://stackoverflow.com/questions/8990158/mongdodb-replicates-and-error-err-not-master-and-slaveok-false-code

【MongoDB】windows平台搭建Mongo数据库复制集(类似集群)(二)

二、故障自适应测试

【MongoDB】windows平台搭建Mongo数据库复制集(类似集群)(二)

当检测时主库停止心跳了后,28012把自己选举为主库,请看如下:

【MongoDB】windows平台搭建Mongo数据库复制集(类似集群)(二)

28012上面就可以进行插入了:

【MongoDB】windows平台搭建Mongo数据库复制集(类似集群)(二)

28011上面现在还是不能插入

【MongoDB】windows平台搭建Mongo数据库复制集(类似集群)(二)