MongoDB 主从复制

来源:互联网 发布:smt自动点胶机编程 编辑:程序博客网 时间:2024/06/07 06:37

主从复制是mongodb最常用的复制方式,这种方式很灵活.可用于备份,故障恢复,读扩展等.


一、 主从复制配置

服务器环境:CentOS6.6 64位系统 
mongodb-master:172.32.2.131
mongodb-slave :172.32.2.132

1. 配置mongodb主库

vim /etc/mongod.conf修改配置文件内容如下:
logpath=/var/log/mongodb/mongod.log
logappend=true
fork=true
dbpath=/data/mongo
pidfilepath=/var/run/mongodb/mongod.pid
bind_ip=10.132.50.60,127.0.0.1
master=true

重启服务
/etc/init.d/mongod restart

2. 配置mongodb从库

vim /etc/mongod.conf修改配置文件内容如下:
logpath=/var/log/mongodb/mongod.log
logappend=true
fork=true
dbpath=/data/mongo
pidfilepath=/var/run/mongodb/mongod.pid
bind_ip=172.32.2.132,127.0.0.1
slave=true
source=172.32.2.131:27017 
slavedelay=10
autoresync=true

#source 指定mongodb-master
#slavedelay 延迟复制,单位为秒
#autoresync 主从数据不一致时,自动重新同步

重启服务
/etc/init.d/mongod restart

二、 测试主从可用性

1. 看日志信息

tail -30f /var/log/mongodb/mongod.log
日志可以看到主从已经建立通信了(注意防火墙)

2. 主创建数据,看从是否同步

eg:
主库操作
show dbs
use new #创建数据库new(如果什么都不操作直接离开,这个库就会被系统删除)
db.test.save({title:"just test"})
db.test.find()
new是数据库名,test是集合名,{title:"just test"}是文档.

#Mongodb会给创建的数据库数据预分配数据库的空间,这使下次向数据库中插入数据更快了

Mongodb查看Collection(集合)状态
use new
db.printCollectionStats()

3. 查看主从复制状态

主库:db.printReplicationInfo()
从库:db.printSlaveReplicationInfo()


原创粉丝点击