MongoDB:Replica Set 之操作日志 Oplog

2024-04-28 07:32

本文主要是介绍MongoDB:Replica Set 之操作日志 Oplog,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

转载地址: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/

               

francs推荐阅读:
MongoDB:搭建三节点 Replica Set 环2012.11.27MongoDB:搭建三节点 Replica Set 环境

这篇关于MongoDB:Replica Set 之操作日志 Oplog的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/942645

相关文章

Python正则表达式匹配和替换的操作指南

《Python正则表达式匹配和替换的操作指南》正则表达式是处理文本的强大工具,Python通过re模块提供了完整的正则表达式功能,本文将通过代码示例详细介绍Python中的正则匹配和替换操作,需要的朋... 目录基础语法导入re模块基本元字符常用匹配方法1. re.match() - 从字符串开头匹配2.

Java实现在Word文档中添加文本水印和图片水印的操作指南

《Java实现在Word文档中添加文本水印和图片水印的操作指南》在当今数字时代,文档的自动化处理与安全防护变得尤为重要,无论是为了保护版权、推广品牌,还是为了在文档中加入特定的标识,为Word文档添加... 目录引言Spire.Doc for Java:高效Word文档处理的利器代码实战:使用Java为Wo

SpringBoot日志级别与日志分组详解

《SpringBoot日志级别与日志分组详解》文章介绍了日志级别(ALL至OFF)及其作用,说明SpringBoot默认日志级别为INFO,可通过application.properties调整全局或... 目录日志级别1、级别内容2、调整日志级别调整默认日志级别调整指定类的日志级别项目开发过程中,利用日志

sysmain服务可以禁用吗? 电脑sysmain服务关闭后的影响与操作指南

《sysmain服务可以禁用吗?电脑sysmain服务关闭后的影响与操作指南》在Windows系统中,SysMain服务(原名Superfetch)作为一个旨在提升系统性能的关键组件,一直备受用户关... 在使用 Windows 系统时,有时候真有点像在「开盲盒」。全新安装系统后的「默认设置」,往往并不尽编

Python自动化处理PDF文档的操作完整指南

《Python自动化处理PDF文档的操作完整指南》在办公自动化中,PDF文档处理是一项常见需求,本文将介绍如何使用Python实现PDF文档的自动化处理,感兴趣的小伙伴可以跟随小编一起学习一下... 目录使用pymupdf读写PDF文件基本概念安装pymupdf提取文本内容提取图像添加水印使用pdfplum

Python从Word文档中提取图片并生成PPT的操作代码

《Python从Word文档中提取图片并生成PPT的操作代码》在日常办公场景中,我们经常需要从Word文档中提取图片,并将这些图片整理到PowerPoint幻灯片中,手动完成这一任务既耗时又容易出错,... 目录引言背景与需求解决方案概述代码解析代码核心逻辑说明总结引言在日常办公场景中,我们经常需要从 W

深度剖析SpringBoot日志性能提升的原因与解决

《深度剖析SpringBoot日志性能提升的原因与解决》日志记录本该是辅助工具,却为何成了性能瓶颈,SpringBoot如何用代码彻底破解日志导致的高延迟问题,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言第一章:日志性能陷阱的底层原理1.1 日志级别的“双刃剑”效应1.2 同步日志的“吞吐量杀手”

使用Python的requests库来发送HTTP请求的操作指南

《使用Python的requests库来发送HTTP请求的操作指南》使用Python的requests库发送HTTP请求是非常简单和直观的,requests库提供了丰富的API,可以发送各种类型的HT... 目录前言1. 安装 requests 库2. 发送 GET 请求3. 发送 POST 请求4. 发送

Python使用python-pptx自动化操作和生成PPT

《Python使用python-pptx自动化操作和生成PPT》这篇文章主要为大家详细介绍了如何使用python-pptx库实现PPT自动化,并提供实用的代码示例和应用场景,感兴趣的小伙伴可以跟随小编... 目录使用python-pptx操作PPT文档安装python-pptx基础概念创建新的PPT文档查看

MySQL 数据库表操作完全指南:创建、读取、更新与删除实战

《MySQL数据库表操作完全指南:创建、读取、更新与删除实战》本文系统讲解MySQL表的增删查改(CURD)操作,涵盖创建、更新、查询、删除及插入查询结果,也是贯穿各类项目开发全流程的基础数据交互原... 目录mysql系列前言一、Create(创建)并插入数据1.1 单行数据 + 全列插入1.2 多行数据