实战MongoDB-Replication之Master-Slave - 面向对象网,数据库,基础,原理,学习,对象 - 面向对象技术开发

面向对象技术开发

会员投稿 投稿指南 站长资讯通告:
您的位置: 首页 > 数据库 > 其它数据库 > 正文

实战MongoDB-Replication之Master-Slave

来源: www.bianceng.cn 阅读:

01.

欢迎使用ueditor!

MongoDB支持不同服务之间的异步的数据复制,来实现failover(故障转移,故障切换,故障恢复) and redundancy(数据冗余)。

同一时间,只有一个服务节点(primary或者master)支持写入。

MongoDB支持两种复制的模式:

Master/Slave,主从复制,角色包括master和slave。

Replica Set,复制集复制,角色包括primary和secondary。

介绍Master/Slave的官方地址:

http://www.mongodb.org/display/DOCS/Master+Slave

介绍Replica Set的官方地址:

http://www.mongodb.org/display/DOCS/Replica+Sets

今天实战的是master-slave,也就是主从复制。

首先使用mongod启动服务,关于启动的参数可以从http://www.mongodb.org/display/DOCS/Command+Line+Parameters页面找到相关的介绍。

其中关于主从复制的参数常用的是下面几个:

--master,指明当前服务是主。

--slave,指明当前服务是从。

--source,指明主服务的地址,格式为server:port。

--only <db>,指明当前从只复制主的指定数据库,数据库名称用db表明。

启动服务可以从命令行一个一个参数的指定,也可以将参数存放在一个文件中,然后启动的时候指定这个文件为服务的配置文件。后见的方法便于管理和维护,推荐使用。

首先配置主服务。

01.port=30000
02.ddbpath=d:\mongodb\master1
03.directoryperdb=true
04.logpath=d:\mongodb\master1\log.log
05.logappend=true
06.master=true
07.bind_ip=192.168.0.111

配置的参数如上所示,将上面的参数拷贝到一个文件中,起名【master1.conf】,然后使用下面的命令启动主服务。

d:\mongodb\bin\mongod --config=d:\mongodb\master1\master1.conf

上面是windows里面启动的命令。

如果是ubuntu中使用,假设conf文件存放在/home/andyshi/master1/目录下,将conf文件内容修改如下。

port=30000 
dbpath=/home/andyshi/master1 
directoryperdb=true
logpath=/home/andyshi/master1/log.log 
logappend=true
master=true
bind_ip=192.168.0.111

使用下面的命令启动主服务。

mongod --conf=/home/andyshi/master1/master1.conf

大家注意到了,主要区别就是目录的地方,注意一下就可以了。

接下来就可以使用mongo这个客户端测试我们配置的结果了,或者使用python+pymongo也可以测试,顺便熟悉一下python+pymongo的使用。

我们的客户端测试环境使用ubuntu+python2.7+pymongo2.1。

在终端中输入

mongo 192.168.0.111:30000

Tags:
相关文章列表: