MongoDB:Replica Set 之操作日志 Oplog
2016-03-15 17:03
344 查看
转载地址:http://francs3.blog.163.com/blog/static/4057672720121133328120/
之前的blog 学习了 MongoDB 主从搭建,以及节点管理的内容,接下来学习
实现主从复制一个重要角色,即 Oplog。
MongoDB 的复制集是通过 Oplog 来实现的,主库的更改操作会被记录到主库的 Oplog
日志中,然后从库通过异步方式复制主库的 Oplog 文件并且将 Oplog 日志应用到从库,从而
实现了与主库的同步。
--1 关于 oplog 的大小
创建 mongod 服务时可以指定 --oplogSize 参数指定 oplog 大小,如果不指定,不同
操作系统上的 oplog 默认大小不同,具体为以下:
1 For 64-bit Linux, Solaris, and FreeBSD systems:可以分配 5% 的剩余空间。
如果分配的值仍小于 1GB,那么会分配 1GB。
2 For 64-bit OS X systems:分配 183MB。
3 For 32-bit systems:分配 48MB。
--2 查看 oplog 的内容
备注:local 库中的集合 oplog.rs 记录了oplog 操作日志内容。
--3 查看 oplog 的状态
通过 db.printReplicationInfo() 命令查看 oplog 状态。
备注:输出信息包括 oplog 日志大小,操作日志记录的起始时间。
--4 查看从库同步状态
备注:输出信息包括从库的主机名,port 信息等。
--5 参考
http://docs.mongodb.org/manual/core/replication/#replica-set-oplog-sizing
http://docs.mongodb.org/manual/reference/local-database/
francs推荐阅读:
MongoDB:搭建三节点
Replica Set 环2012.11.27MongoDB:搭建三节点 Replica Set 环境
之前的blog 学习了 MongoDB 主从搭建,以及节点管理的内容,接下来学习
实现主从复制一个重要角色,即 Oplog。
MongoDB 的复制集是通过 Oplog 来实现的,主库的更改操作会被记录到主库的 Oplog
日志中,然后从库通过异步方式复制主库的 Oplog 文件并且将 Oplog 日志应用到从库,从而
实现了与主库的同步。
--1 关于 oplog 的大小
创建 mongod 服务时可以指定 --oplogSize 参数指定 oplog 大小,如果不指定,不同
操作系统上的 oplog 默认大小不同,具体为以下:
1 For 64-bit Linux, Solaris, and FreeBSD systems:可以分配 5% 的剩余空间。
如果分配的值仍小于 1GB,那么会分配 1GB。
2 For 64-bit OS X systems:分配 183MB。
3 For 32-bit systems:分配 48MB。
--2 查看 oplog 的内容
rs0:PRIMARY> show dbs; local 0.125GB test 0.0625GB rs0:PRIMARY> use local; switched to db local rs0:PRIMARY> show collections; me oplog.rs replset.minvalid slaves system.indexes system.replset rs0:PRIMARY> db.oplog.rs.find(); { "ts" : Timestamp(1354037833000, 1), "h" : NumberLong("-190625176257847918"), "v" : 2, "op" : "i", "ns" : "test.test_3", "o" : { "_id" : ObjectId("50b4fa49f2d598e740e3ee7a"), "id" : 1 } } { "ts" : Timestamp(1354038811000, 1), "h" : NumberLong("6383516783459941672"), "v" : 2, "op" : "i", "ns" : "test.test_4", "o" : { "_id" : ObjectId("50b4fe1b15747af472f54831"), "id" : 1 } } |
--3 查看 oplog 的状态
通过 db.printReplicationInfo() 命令查看 oplog 状态。
[mongo@redhatB ~]$ mongo 127.0.0.1:27018 MongoDB shell version: 2.2.1 connecting to: 127.0.0.1:27018/test rs0:PRIMARY> db.printReplicationInfo(); configured oplog size: 47.6837158203125MB log length start to end: 978secs (0.27hrs) oplog first event time: Wed Nov 28 2012 01:37:13 GMT+0800 (CST) oplog last event time: Wed Nov 28 2012 01:53:31 GMT+0800 (CST) now: Wed Nov 28 2012 20:58:52 GMT+0800 (CST) |
--4 查看从库同步状态
rs0:PRIMARY> db.printSlaveReplicationInfo(); source: redhatB.example.com:27019 syncedTo: Wed Nov 28 2012 01:53:31 GMT+0800 (CST) = 69673 secs ago (19.35hrs) source: redhatB.example.com:27020 syncedTo: Wed Nov 28 2012 01:53:31 GMT+0800 (CST) = 69673 secs ago (19.35hrs) |
备注:输出信息包括从库的主机名,port 信息等。
--5 参考
http://docs.mongodb.org/manual/core/replication/#replica-set-oplog-sizing
http://docs.mongodb.org/manual/reference/local-database/
francs推荐阅读:
MongoDB:搭建三节点
Replica Set 环2012.11.27MongoDB:搭建三节点 Replica Set 环境
相关文章推荐
- MongoDB:Replica Set 之操作日志 Oplog
- mongodb - Replication Set成员维护
- mongodb - Replication Set搭建过程
- MongoDB数据查询
- 使用MongoDB血泪般的经验教训
- mongodb启动命令
- Python简单连接MongoDB数据库的方法
- mongodb - Master Slave Replication
- mongodb权威指南
- mongodb 使用总结
- MongoDB数据类型
- MongoDB文档和集合
- mongoDB系列之--入门(一)
- mongodb mongoexprt 导出数据 json csv格式
- Python简单连接MongoDB数据库的方法
- node.js + express + mongodb 新手写的简单的高校实验室人员及任务管理系统
- 新手学Linux(四)----Linux下安装配置MongoDB数据库
- mongodb字段类型ObjectID使用
- java代码实现mongodb故障迁移和读写分离
- 微软Orleans连接MongoDB