cd红丸 发表于 2012-09-22 22:07

[原创] MongoDB管理与开发精要《红丸出品》21.2 复制集之主从操作日志oplog

http://blog.chinaunix.net/attachment/201205/26/26785103_1338009683Kvjx.jpg21.2主从操作日志oplogMongoDB的Replica Set架构是通过一个日志来存储写操作的,这个日志就叫做”oplog”。 oplog.rs 是一个固定长度的 capped collection,它存在于”local”数据库中,用于记录 Replica Sets 操作日志。在默认情况下,对于64位的MongoDB,oplog是比较大的,可以达到5%的磁盘空间。oplog的大小是可以通过mongod的参数”—oplogSize”来改变oplog的日志大小。
Oplog内容样例:
rs1:PRIMARY> use localswitched to db localrs1:PRIMARY> show collectionsoplog.rssystem.replsetrs1:PRIMARY> db.oplog.rs.find(){ "ts" : { "t" : 1338457763000, "i" : 1 }, "h" : NumberLong(0), "op" : "n", "ns" : "", "o" : { "msg" : "initiating set" } }{ "ts" : { "t" : 1338459114000, "i" : 1 }, "h" : NumberLong("5493127699725549585"), "op" : "i", "ns" : "test.c1", "o" : { "_id" : ObjectId("4fc743e9aea289af709ac6b5"), "age" : 29, "name" : "Tony" } }rs1:PRIMARY>

字段说明:lts: 某个操作的时间戳lop: 操作类型,如下:ui: insertud: deleteuu: updatelns: 命名空间,也就是操作的collectionnamelo: document的内容
查看master的oplog元数据信息:
rs1:PRIMARY> db.printReplicationInfo()configured oplog size:   47.6837158203125MBlog length start to end: 1351secs (0.38hrs)oplog first event time:Thu May 31 2012 17:49:23 GMT+0800 (CST)oplog last event time:   Thu May 31 2012 18:11:54 GMT+0800 (CST)now:                     Thu May 31 2012 18:21:58 GMT+0800 (CST)rs1:PRIMARY>
字段说明:lconfigured oplog size:   配置的oplog文件大小llog length start to end: oplog日志的启用时间段loplog first event time:   第一个事务日志的产生时间loplog last event time:   最后一个事务日志的产生时间lnow:               现在的时间
查看slave的同步状态:
rs1:PRIMARY> db.printSlaveReplicationInfo()source:   localhost:28011         syncedTo: Thu May 31 2012 18:11:54 GMT+0800 (CST)               = 884secs ago (0.25hrs)source:   localhost:28012         syncedTo: Thu May 31 2012 18:11:54 GMT+0800 (CST)               = 884secs ago (0.25hrs)rs1:PRIMARY>
字段说明:lsource:   从库的IP及端口lsyncedTo:   目前的同步情况,延迟了多久等信息免费IT培训(ChinaDBA.net)实践者!学费1元,全捐公益
http://service.t.sina.com.cn/widget/qmd/2446082491/9e768382/1.png

页: [1]
查看完整版本: [原创] MongoDB管理与开发精要《红丸出品》21.2 复制集之主从操作日志oplog