linux配置usb主从_杂集:浅谈关于Mongodb数据库主从复制

Linux下Mongodb数据库主从复制配置

Mongodb的三种集群搭建的方式:

Master-Slaver:主从[目前被副本集取代]。

Replica Set:副本集。

Sharding:切片。

Mongodb单实例缺点:

适合简易开发时使用,生产使用不行,因为单节点挂掉整个数据业务全挂。

主从复制:

MongoDB常用的复制方式,也是一个简单的数据库同步备份的集群技术,这种方式很灵活。可用于备份,故障恢复等等。

最基本的设置方式是建立一个主节点和一个/多个从节点,当主节点挂掉了后从节点可以接替主机继续服务。

主从复制缺点[见文章结尾]

原理:

主从结构中,主节点的操作记录oplog[operation log]。

oplog存储在一个系统数据库local的集合oplog.$main中,这个集合的每个文档都代表主节点上执行的一个操作。

从服务器会定期从主服务器中获取oplog记录,然后在本机上执行。

对于存储oplog的集合,MongoDB采用的是固定集合,随着操作过多,新的操作会覆盖旧的操作。

准备:

192.168.102.111 master

192.168.102.112 slave

关于mongodb的安装详见:

第四篇:linux系统中mongodb的配置

提示:

建议两台机器都关闭防火墙

1、 修改master配置文件

192.168.102.111 master

vi ~/mongodb3.0/etc/mongodb.conf

port=27017

bind_ip=192.168.102.111

dbpath=/home/odysee/mongodb3.0/data/db/

logpath=/home/odysee/mongodb3.0/logs/mongodb.log

logappend=true

journal=true

fork=true

#主服务器

master=true

#同步复制的日志大小设置,单位MB

oplogSize=2048

6d580584858e7c808309fea5c159f17e.png

2、修改slave配置文件

192.168.102.112 slave

vi ~/mongodb3.0/etc/mongodb.conf

port=27017

bind_ip=192.168.102.112

dbpath=/home/odysee/mongodb3.0/data/db/

logpath=/home/odysee/mongodb3.0/logs/mongodb.log

logappend=true

journal=true

fork=true

#主数据库端口

source=192.168.102.111:27017

#从服务器

slave=true

#设置从库同步主库的延迟时间,秒

slavedelay=10

#主从库数据不一致时,自动同步

autoresync=true

3a8852828bd39595443644468eaaa5e3.png

3、开启master的mongod服务

bin/mongod --config ~/mongodb3.0/etc/mongodb.conf

0b79540de1b8c2e6dcc63ae78e132920.png

开启mongo客户端

bin/mongo 192.168.102.111

662e523bea213d1fcb78832be371fbbd.png

4、 开启slave的mongod服务

bin/mongod --config ~/mongodb3.0/etc/mongodb.conf

d4e3e7f7c60fcb1d552450f5036174f6.png

开启mongo客户端

bin/mongo 192.168.102.112

d4a79449cc582ee7a8200e3760d157a4.png

5、 测试数据同步

在master中新建demo库插入测试数据

> use demo;

switched to db demo

> db.demo.insert({"name":"odysee1"})

WriteResult({ "nInserted" : 1 })

> db.demo.insert({"name":"odysee2"})

WriteResult({ "nInserted" : 1 })

> db.demo.insert({"name":"odysee3"})

WriteResult({ "nInserted" : 1 })

> db.demo.find()

{ "_id" : ObjectId("5c37b2780ecf620bd11f14c8"), "name" : "odysee1" }

{ "_id" : ObjectId("5c37b27b0ecf620bd11f14c9"), "name" : "odysee2" }

{ "_id" : ObjectId("5c37b27e0ecf620bd11f14ca"), "name" : "odysee3" }

102ce80bf910c5fbbb4717c328cc4021.png

在slave中查看

Error: listDatabases failed:{ "note" : "from execCommand

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值