一 简介:此文汇总遇到过和搜集过的故障案例

二 场景案例

1 问题描述: mongo集群在无任何业务情况下,mongos所在服务器cpu突然被打满,内核日志报错 mongos被hung住,非常奇怪的问题

问题分析:  此问题经过分析和网上查阅可知,是由numa回收内存问题导致

问题解决: 1 numatl=all方式启动mong  2sysctl.conf中添加 vm.zone_reclaim_mode = 0(回收内存控制参数)

2 问题描述: mongo集群在业务进行压测期间(已做读写分离) primary和secondary同时负载报警

问题分析: 1 通过天兔mongo监控曲线图和mongostat定位 primary发生大量insert操作,每秒大概200+次,频率非常高

2 通过 观察secondary shardlog 日志发现大量的全表扫描语句

问题解决: 1 更改程序逻辑,减少主库操作频率,限制人数

2 添加查询语句索引,避免从库的慢查询语句

3 问题描述: mongo集群在深夜执行定时任务进行查询,量非常大,也非常多,导致负载升高,触发故障切换

问题分析: 此表的数据量已经非常之大,虽然已经添加索引,但是无法解决

问题解决: 归档表的数据量,减少表的数据量大小,负载明显下降,问题解决

4 问题描述: mongo集群负载升高,日志出现大量saslstart相关认证信息日志,时间很长

问题分析:  mongo集群3.X采用的鉴权机制正是SCRAM-SHA-1,程序采用的短链接,由于并发太高,导致短链接开销非常大,cpu暴涨

问题解决: 1放弃短链接,改用连接池 2 也可以考虑去掉鉴权认证

5 问题描述: mongo监控显示, page_faults页错误发生频率的次数再升高

问题分析: 数据库访问数据时发现数据不在内存时的页面数量,表示需要从硬盘进行也交换,MongoDB要读取的数据很多都不在内存中,需要从硬盘读取

问题解决: 1 增大数据库内存 2优化语句 3 降低并发 4 增加分片,减少单台shard的压力

6 问题描述: mongo集群发生负载暴涨,进行分析定位

问题分析思路  1 利用天兔的mongo监控定位具体的操作类型,可以发现,发生大量的insert语句

2 利用mongostat和mongotop定位 具体的发生collection

3 联系研发进行解决

问题原因: 瞬间并发insert导致的cpu暴涨问题

7 mongodump没有问题,但是复制数据到新库报错

问题详细 Failed: restore error:: error creating indexes for: cannot restore index with namespace 'i': namespace is too long (max size is 127 bytes)

问题解决 新库本身长于老库,加上本身索引比较长 超过了限制,修改索引名长度即可

mongodb 案例 ~ 经典故障案例的更多相关文章

  1. 使用MapReduce实现一些经典的案例

    在工作中,很多时候都是用hive或pig来自动化执行mr统计,但是我们不能忘记原始的mr.本文记录了一些通过mr来完成的经典的案例,有倒排索引.数据去重等,需要掌握. 一.使用mapreduce实现倒 ...

  2. KVM部署LVS集群故障案例一则

    一.故障现象 KVM部署LVS(Linux Virtual Server)集群后,能够单独以HTTP方式访问RS(Real Server)的实际IP,但无法通过VIP(Virtual IP)访问. 二 ...

  3. PE经典DIY案例1:全解开方案让量产PE也能

    更新说明:因未来的uefi似乎并不能识别并引导ud区,但能识别和引导量产和u+B+隐藏或高端隐藏区,故解决量产PE对u+B+隐藏区的支持,并增加对UEFI启动支持,已经成为PE制作的最主流技术. PE ...

  4. 18个awk的经典实战案例

    介绍 这些案例是我收集起来的,大多都是我自己遇到过的,有些比较经典,有些比较具有代表性. 这些awk案例我也录了相关视频的讲解awk 18个经典实战案例精讲,欢迎大家去瞅瞅. 插入几个新字段 在&qu ...

  5. Spring框架-经典的案例和demo,一些可以直接用于生产,使用atomikos来处理多数据源的一致性事务等

    Spring Examples Demo website:http://www.ityouknow.com/ 对Spring框架的学习,包括一些经典的案例和demo,一些可以直接用于生产. sprin ...

  6. 【华为云技术分享】MongoDB经典故障系列五:sharding集群执行sh.stopBalancer()命令被卡住怎么办?

    [摘要] MongoDB sharding集群执行sh.stopBalancer()命令时被卡住怎么办?别慌,华为云数据库来给您支招,收下这份方案指南,让您分分钟远离被自建MongoDB数据库支配的恐 ...

  7. 快要C语言考试了,大学生们收好这些经典程序案例,包你考试过关!

    距离考试越来越近 编程大佬早已饥渴难耐 电脑小白还在瑟瑟发抖 但是不要怕! 来看看这些经典程序案例 包你考试过关! [程序1] 有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多 ...

  8. _00017 Kafka的体系结构介绍以及Kafka入门案例(0基础案例+Java API的使用)

    博文作者:妳那伊抹微笑 itdog8 地址链接 : http://www.itdog8.com(个人链接) 博客地址:http://blog.csdn.net/u012185296 博文标题:_000 ...

  9. Mybatis案例升级版——小案例大道理

    纯Mybatis案例升级版——小案例大道理 前言: 这几天看了一本书<原则>,在上面看到了一句话叫“每个人都把自己眼界的局限当成世界的局限”,大学生是

随机推荐

  1. redis设置密码以及jedisPool设置密码

    转: redis设置密码以及jedisPool设置密码 2019年01月02日 20:24:43 宇文荒雪 阅读数:1118   版权声明:本文为博主原创文章,未经博主允许不得转载. https:// ...

  2. python 类的介绍实例

    使用面向对象的优点: 1.能够更好的设计软件架构 2.维护软件模块 3.易于架构和组件的重用 类的定义: 构造函数:初始化用,写不写都可以,默认为空 类属性:属于类的对象 方法属性:不属于类的对象 私 ...

  3. JS学习笔记Day4

    一.什么是函数 将反复使用的功能代码,封装成一独立的模块,这个模块叫做函数 二.封装函数的好处 1.一次封装,多次使用 2.使程序可控 三.函数的分类:内置()函数和自定义函数 四.函数的数据类型(f ...

  4. (贪心 区间) 51nod1091 线段的重叠

    X轴上有N条线段,每条线段包括1个起点和终点.线段的重叠是这样来算的,[10 20]和[12 25]的重叠部分为[12 20]. 给出N条线段的起点和终点,从中选出2条线段,这两条线段的重叠部分是最长 ...

  5. (map)What Are You Talking About hdu1075

    What Are You Talking About Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 102400/204800 K ...

  6. SpringBoot项目部署在同一个tomcat容器报错

    在一个Tomcat容器中部署了两个springboot的应用,在启动时发现一直都是第一个启动的项目能启动成功,第二个项目启动报错,错误信息如下: 2018-01-30 15:49:27.810 ERR ...

  7. nGrinder windows agent / linux agent

    s ngrinder部署 https://blog.csdn.net/yue530tomtom/article/details/82113558 Windows机器启动不了ngrinder-agent ...

  8. 阿里RocketMq(TCP模式)

    针对公司业务逻辑,向阿里云MQ发送指定数据,消费端根据数据来做具体的业务,分两个项目,一个生产端(Producer).一个消费端(Consumer) 生产端通过定时任务执行sql向阿里云MQ发送数据, ...

  9. Tomcat虚拟路径访问本地图片失败的问题

    开发过程中,把图片放在本地一个磁盘的路径下.网上搜了下,可以使用tomcat虚拟路径访问本地图片. 这样就不用把图片放在整个项目的webapp目录下了. 1.找到tomcat的server.xml文件 ...

  10. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cardSalDao' defined in file [E:\GItUp\pointerCard+redis\target\gameCard-1.0-SNAPSHOT\WEB-INF\classes\cn\jbit\dao

    错误信息: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cardSa ...