• 进入"运维那点事"后,希望您第一件事就是阅读“关于”栏目,仔细阅读“关于Ctrl+c问题”,不希望误会!
MongoDB在线热备神器-createBackup

MongoDB在线热备神器-createBackup

一、背景 作为NoSQL的优秀代表-mongodb数据库,在很多互联网公司得到广泛应用,不同的公司,mongodb数据量从几个GB到几个TB不等。无论数据量大小,都面临一个同样的问题:备份。 目前,常用的mongodb备份方案如下: 1)mongodump/mongoexport备份 这是mongodb官方提供的工具,属于逻辑备份,适合于数据量不大的情况(比……

MongoDB CPU利用率很高,怎么破?

MongoDB CPU利用率很高,怎么破?

经常有用户咨询:MongoDB CPU 利用率很高,都快跑满了,应该怎么办? 遇到这个问题,99.9999% 的可能性是「用户使用上不合理导致」,本文主要介绍从应用的角度如何排查 MongoDB CPU 利用率高的问题。 Step1: 分析数据库正在执行的请求 用户可以通过 Mongo Shell 连接,并执行 db.currentOp() 命令,能看到数……

MongoDB副本集write concern为majority的坑

MongoDB副本集write concern为majority的坑

故障现象 一个副本集下四个节点,一个primary,两个Secondary,一个arbiter,其中将一个Secondary关闭后,修改primary节点的密码,这时修改命令会卡住直到超时失败。 udb-aqmp5a:PRIMARY> db.changeUserPassword("root","123123") 2016……

关于MongoDB连接数运维

关于MongoDB连接数运维

使用 MongoDB 时,可能会遇到因为 mongod 连接数用满了,导致客户端无法连接的问题。mongod 的最大连接数通过net.maxIncomingConnections指定,默认值为 1000000,相当于没有限制,生产环境强烈建议根据实际需求配置,以避免客户端误用导致 mongod 负载过高。 为什么需要限制连接数? 连接是要消耗资源的,而且消耗……

MongoDB最佳实践-持续更新版

MongoDB最佳实践-持续更新版

本文包括以下几个方面: – 安全措施 – 部署架构 – 系统优化 – 索引设计 – 备份监控 – 模式设计 – 程序配置 一、安全措施 1.1 为MongoDB集群启用认证鉴权 MongoDB服务器在默认安装下不启用鉴权。这意味着每个人都可以直接连接到mongod实例并执行任……

MongoDB复制集成员状态转换

MongoDB复制集成员状态转换

MongoDB一共有10种状态,官方将其分为3大类,核心状态(Core States)为三种成员类型对应的属性(PRIMARY/SECONDARY/ARBITER),还有7种属性,被分为其他状态(Other States)和错误状态(Error States)两类。 核心状态(Core States) RPIMARY SECONDARY ARBITER 其他……

MongoDB复制集同步慢问题分析

MongoDB复制集同步慢问题分析

案例一 一、问题背景 最近生产环境出现多次Primary写入QPS太高,导致Seconary的同步无法跟上的问题(Secondary上的最新oplog时间戳比Primary上最旧oplog时间戳小),使得Secondary变成RECOVERING状态,这时需要人工介入处理,向Secondary发送resync命令,让Secondary重新全量同步一次。 二、……

MongoDB 3.4复制集全量同步改进

MongoDB 3.4复制集全量同步改进

一、MongoDB副本集数据同步方式 intial sync,可以理解为全量同步。 replication,追同步源的oplog,可以理解为增量同步。 下面会详细介绍MongoDB数据同步的实现原理。 initial sync Secondary节点当出现如下状况时,需要先进行全量同步。 oplog为空。 local.replset.minvalid集……

MongoDB Point in Time Recovery

MongoDB Point in Time Recovery

在生产环境中,尽管我们尽力避免误操作,但是还是会遇到误操作或是其他情况的出现。这时候我们就需要进行Point in time recovery了。Mongodb的point in time recovery是基于oplog进行的,所以请确保oplog的size足够大,也请确保定时有冷备份(或是延时备份)。 理论上只要我们的mongodump做得足够频繁再结合……

MongoDB&MySQL关于NUMA架构CPU的相关问题

MongoDB&MySQL关于NUMA架构CPU的相关问题

一、背景 MongoDB日志报警显示如下: WARNING: You are running on a NUMA machine. We suggest launching mongod like this to avoid performance problems: numactl --……

MongoDB配置文件选项介绍

MongoDB配置文件选项介绍

MongoDB配置文件 Mongod在启动时可以通过-f指定一个配置文件(此配置文件中配置了必要的运行参数),或也可以通过mongos命令行选项启动。但是一般情况使用配置文件管理的mongod或mongos更容易,尤其是对于大型部署来说,因为可以向配置文件添加注释来解释服务器的设置。 如果使用安装包安装MongoDB默认就会使用一个配置文件(/etc/mon……

MongoDB WiredTiger存储引擎原理

MongoDB WiredTiger存储引擎原理

MongoDB 3.2 把 WiredTiger 设置为了默认的存储引擎(之前版本使用 MMAPV1 存储引擎),最近通过阅读 WiredTiger 源代码(在不了解其内部实现的情况下,读代码难度相当大,代码量太大,强烈建议官方多出些介绍文章),理清了 WiredTiger 的大致原理,并简单总结,不保证内容都是正确的,如有问题请指出,欢迎讨论交流。 按照 ……