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主从来提供高可用方案,取而代之的是采用副本集和分片技术,针对这个问题的说明,回头整理一篇文章进行说明,谢谢。

更多MongoDB相关教程见以下内容

CentOS 编译安装 MongoDB与mongoDB的php扩展

CentOS 6 使用 yum 安装MongoDB及服务器端配置

Ubuntu 13.04下安装MongoDB2.4.3

MongoDB入门必读(概念与实战并重)

Ubunu 14.04下MongoDB的安装指南

《MongoDB 权威指南》(MongoDB: The Definitive Guide)英文文字版[PDF]

Nagios监控MongoDB分片集群服务实战

基于CentOS 6.5操作系统搭建MongoDB服务

MongoDB 的详细介绍:请点这里
MongoDB 的下载地址:请点这里

本文永久更新链接地址: 

相关内容