转载地址: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 的内容

 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 } }

备注:local 库中的集合 oplog.rs 记录了oplog 操作日志内容。

--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)

备注:输出信息包括 oplog 日志大小,操作日志记录的起始时间。

--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/

 
 
 

MongoDB:Replica Set 之操作日志 Oplog的更多相关文章

  1. mongodb复制集里查看主从操作日志oplog

    MongoDB的replica set架构是通过一个日志来存储写操作的,这个日志就叫做 oplog .oplog.rs 是一个固定长度的 Capped Collection,它存在于local数据库中 ...

  2. mongodb replica set(副本集)设置步骤

    网上已经有一大堆的设置步骤的了,根据我遇到的问题,整理一下,如下: 首先先去下载一个mongodb最新版,目前最新版应该是2.6 cd /usr/local/bin wget http://fastd ...

  3. 关于MongoDb Replica Set的故障转移集群——实战篇

    如果你还不了解Replica Set的相关理论,请猛戳传送门阅读笔者的上一篇博文. 因为Replica Set已经属于MongoDb的进阶应用,下文中关于MongoDb的基础知识笔者就不再赘述了,请参 ...

  4. 关于MongoDb Replica Set的故障转移集群——理论篇

    自从10 gen用Replica Set取代Master/Slave方案后生活其实已经容易多了,但是真正实施起来还是会发现各种各样的小问题,如果不小心一样会栽跟头. 在跟Replica Set血拼几天 ...

  5. MongoDB 学习笔记(三) MongoDB (replica set) 集群配置

    MongoDB Replica Sets的结构类似于以集群,完全可以把他当成一个集群,因为他确实与集群实现的作用是一样的:如果其中一个节点出现故障,其他的节点会马上将业务接管过来.而无需停机操作 Mo ...

  6. mongodb replica set 和 nodejs中使用mongoose连接replica

    一.mongodb replication 介绍 官网上的第一句话就是Replication is the process of synchronizing data across multiple ...

  7. mongodb的mongod.lock文件及oplog文件

    在mongodb的启动时,在数据目录下,会生成一个mongod.lock文件.如果在正常退出时,会清除这个mongod.lock文件,若要是异常退出,在下次启动的时候,会禁止启动,从而保留一份干净的一 ...

  8. mongodb replica set 配置高性能多服务器详解

    mongodb的多服务器配置,以前写过一篇文章,是master-slave模式的,请参考:详解mongodb 主从配置.master-slave模式,不能自动实现故障转移和恢复.所以推荐大家使用mon ...

  9. (1)解锁 MongoDB replica set核心姿势

    副本集Replica Set是一个术语,定义具有多节点的数据库集群,这些节点具有主从复制(master-slave replication) 且节点之间实现了自动故障转移. 这样的结构通常需要具有奇数 ...

随机推荐

  1. [转载]新功能:用微软的Live Writer离线写博文

    原文地址:Writer离线写博文">新功能:用微软的Live Writer离线写博文作者:新浪博客 Writer离线写博文" title="[转载]新功能:用微软的 ...

  2. clipToBounds

    最近在开发H5平台的iOS移动侧,遇到些问题,随手记录下来. 1 UIView的clipToBounds 窗口裁剪,默认是NO,表示如果父窗口的大小已经不足以显示子窗口,也不进行裁剪,而是显示,但这时 ...

  3. 在ros中使用rplidar Laser发布scan数据--25

    原创博客:转载请表明出处:http://www.cnblogs.com/zxouxuewei/ 由于市面上买的激光雷达价格太贵了.所以在学习时会造成很大的经济压力.但是最近好多做机器人核心组件的公司都 ...

  4. 20145220《Java程序设计》实验一实验报告

    *实验一 Java开发环境的熟悉 实验内容及步骤 使用JDK编译.运行简单的Java程序 命令行下程序开发: 在命令行下建立实验目录,进入该目录后创建exp1目录 敲入以下代码: package ex ...

  5. hihoCoder#1107 : Shortest Proper Prefix (前缀树)

    题目大意:在n个单词中,如果以s作为前缀的单词个数不超过5个,那么称s为proper prefix.如果s为proper prefix并且s的任何一个前缀(不包括s)都不是proper prefix, ...

  6. Git入门指南十一:Git branch 分支与合并分支

    十五. Git branch 分支 查看当前有哪些branch bixiaopeng@bixiaopengtekiMacBook-Pro xmrobotium$ git branch * master ...

  7. urllib,urllib2,requests对比

    #coding:utf-8 import urllib2 import urllib import httplib import socket import requests #实现以下几个方面内容: ...

  8. 黑马程序员——JAVA基础之IO流FileReader,FileWriter

    ------- android培训.java培训.期待与您交流! ---------- IO(Input Output)流  IO流用来处理设备之间的数据传输 Java对数据的操作是通过流的方式 J ...

  9. .c和.h文件的区别(转载)

    一个简单的问题:.c和.h文件的区别学了几个月的C语言,反而觉得越来越不懂了.同样是子程序,可以定义在.c文件中,也可以定义在.h文件中,那这两个文件到底在用法上有什么区别呢? 2楼:子程序不要定义在 ...

  10. Introduction to Monte Carlo Tree Search (蒙特卡罗搜索树简介)

    Introduction to Monte Carlo Tree Search (蒙特卡罗搜索树简介)  部分翻译自“Monte Carlo Tree Search and Its Applicati ...