阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

MongoDB学习笔记——Master/Slave主从复制

116次阅读
没有评论

共计 2356 个字符,预计需要花费 6 分钟才能阅读完成。

Master/Slave 主从复制

主从复制 MongoDB 中比较常用的一种方式,如果要实现主从复制至少应该有两个 MongoDB 实例,一个作为主节点负责客户端请求,另一个作为从节点负责从主节点映射数据,提供数据备份,客户端读取等,推荐一主多从模式

MongoDB 主从复制的实现方式:

•主节点的操作会被记录为 oplog, 存储在系统数据库 local 的集合 oplog.$main 中,这个集合中的每个文档都代表主节点的一个操作(不包括查询)

•从节点定期从主服务器获取 oplog 数据,并在本机进行执行

•oplog 使用的是固定集合,随着操作的逐渐增加,新的文档会逐渐覆盖旧的文档

MongoDB 使用注意点或缺点:

•每个从节点必须知晓其对应的主节点地址

•只允许主节点进行数据更新操作

•主节点宕机服务不可用

•3.2 版本以后已经移除

Mongodb 主从复制配置项详解:

•master:默认为 false,当设置为 true,则配置当前实例作为主节点。

•slave:默认为 false,当设置为 true,则配置当前实例作为从节点。

•source:默认为空,用于从节点,指定从节点的复制来源(主节点的 IP+ 端口),格式为:<host><:port>

•only:默认为空,用于从节点,主动复制默认复制主节点上所有的数据库,通过设置此项指定需要复制的数据库名称

•slavedelay:设置从库同步主库的延迟时间,用于从设置,默认为 0,单位秒。

•autoresync:默认为 false,用于从设置。是否自动重新同步。设置为 true,如果落后主超过 10 秒,会强制从自动重新同步。如果 oplogSize 太小,此设置可能有问题。如果 OPLOG 大小不足以存储主的变化状态和从的状态变化之间的差异,这种情况下强制重新同步是不必要的。当设置 autoresync 选项设置为 false,10 分钟内从不会进行大于 1 次的自动重新同步。

主从配置实例(一主一从)

主节点 master.conf

 dbpath=D:\mongodb\zhucong\master\data

 logpath=D:\mongodb\zhucong\master\logs\mongodb.log

 port=27017

 bind_ip=127.0.0.1

 master=true

从节点配置

dbpath=D:\mongodb\zhucong\slave\data

 logpath=D:\mongodb\zhucong\slave\logs\mongodb.log

 port=27018

 bind_ip=127.0.0.1

 master=true

 slave=true

 source=127.0.0.1:27017

分别启动两个 MongoDB 实例

mongod –config D:\mongodb\zhucong\master\master.conf

 mongod –config D:\mongodb\zhucong\slave\slave.conf

使用 Robomongo 客户端分别连接上两个 MongoDB 实例

在主库上创建数据库 masterslavetest 并创建一些测试数据

use masterslavetest

 for (i = 5000; i < 100000; i++) {

 db.users.insert({

 “i”: i,

 “userName”: “user” + i,

 “age”: Math.floor(Math.random() * 120),

 “created”: new Date(),

 total: Math.floor(Math.random() * 100) * i

 })

}

在两个实例上分别执行 以下命令 可以看到在两个数据库上的数据保持一致,这时在主数据库上执行 CRUD 等操作时,从库数据依然与主库一致

db.users.find({})

两条指令

db.printReplicationInfo(): // 查看主节点的信息

db.printSlaveReplicationInfo(): // 查看从节点的信息

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

CentOS 编译安装 MongoDB 与 mongoDB 的 php 扩展 http://www.linuxidc.com/Linux/2012-02/53833.htm

CentOS 6 使用 yum 安装 MongoDB 及服务器端配置 http://www.linuxidc.com/Linux/2012-08/68196.htm

Ubuntu 13.04 下安装 MongoDB2.4.3 http://www.linuxidc.com/Linux/2013-05/84227.htm

MongoDB 入门必读(概念与实战并重) http://www.linuxidc.com/Linux/2013-07/87105.htm

Ubunu 14.04 下 MongoDB 的安装指南 http://www.linuxidc.com/Linux/2014-08/105364.htm

《MongoDB 权威指南》(MongoDB: The Definitive Guide)英文文字版[PDF] http://www.linuxidc.com/Linux/2012-07/66735.htm

Nagios 监控 MongoDB 分片集群服务实战 http://www.linuxidc.com/Linux/2014-10/107826.htm

基于 CentOS 6.5 操作系统搭建 MongoDB 服务 http://www.linuxidc.com/Linux/2014-11/108900.htm

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

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-11/137450.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-22发表,共计2356字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中