[置顶] Mongodb的主从模式搭建实例
对数据库来说,为了保证数据的安全性和高可用性,往往会采用主从架构模式,对于Mongodb也是如此,这篇文章将讲述一下如何搭建一个简单的Mongodb主从架构模型。 在下面的实例中,因为没有多个服务器的原因,在一台服务器上进行了实验,采用不同的端口号进行区
对数据库来说,为了保证数据的安全性和高可用性,往往会采用主从架构模式,对于Mongodb也是如此,这篇文章将讲述一下如何搭建一个简单的Mongodb主从架构模型。
在下面的实例中,因为没有多个服务器的原因,在一台服务器上进行了实验,采用不同的端口号进行区分主从。
首先我们需要的是下载Mongodb的官方版本,这里我下载的是2.4.1的Linux版本,并在Linux下进行解压,然后创建两个文件夹master和slave,分别存放主Mongodb实例和从mongodb实例。
然后我们首先启动master中的主Mongodb实例,如下所示:
我们看到了,Mongodb已经在27017端口等待客户端连接了,并且从“master:true”看到当前Mongodb实例是以master身份启动的。
接下来,我们启动从Mongodb实例,并且指定该从Mongodb是那个主Mongodb的从实例,
mongod --port 27018 --dbpath=/lingxi/local/mongodb/slave/mongodb/mongodbdata/ -slave -source 172.31.4.15:27017
这里我们将从Mongodb实例在27018端口启动,并且作为原来的27017端口上的Mongodb实例的从实例。启动代码如下:
从上面标红可以看出,Mongodb从实例已经启动起来。接下来就是验证主从模式的时候了。这里,我们只做简单的测试,我们往主Mongodb上写入一条数据,看看Mongodb从实例上是否会有数据。
在上面,我们首先创建了一个新的集合,然后插入了一条新建了test集合,并且插入了一条文档{"caller":"18326149379"},然后我们再次插入一条文档,我们看看在插入过程中Mongodb从实例能否及时拿到新的数据,如下所示:
从结果来看,从Mongodb实例能够及时获知主Mongodb实例的数据变化并进行同步,至此一个简单的Mongodb主从模式便搭建起来了。
需要说明的是,因为主从模式也存在着一些问题,针对这些问题,Mongodb有其他方法能够较好的解决,所以Mongodb官方推荐以后尽量不要使用Mongodb主从来提供高可用方案,取而代之的是采用副本集和分片技术,针对这个问题的说明,回头整理一篇文章进行说明,谢谢。