故障现象
mongodb重启后,等了几十分钟还一直没启动完成,单节点副本集,状态一直处于startup

原因分析
查看mongod的错误日志,发现一直处于building index,但根据之前的经验,只有在重做secondary节点的时候才会经常处于building index状态,而这个db是primary节点,于是详细查看了关于这个building index的全部信息

2017-01-05T17:24:59.473+0800 [IndexRebuilder] found 1 index(es) that wasn't finished before shutdown
2017-01-05T17:24:59.473+0800 [IndexRebuilder] found 1 interrupted index build(s) on aso.app_version_info_chn1
2017-01-05T17:24:59.473+0800 [IndexRebuilder] note: restart the server with --noIndexBuildRetry to skip index rebuilds
2017-01-05T17:24:59.473+0800 [IndexRebuilder] going to rebuild: { v: 1, unique: true, key: { _fts: "text", _ftsx: 1 }, name: "$**_text", ns: "aso.app_version_info_chn1", weights: { $**: 1 }, default_language: "english", language_override: "language", textIndexVersion: 2 }
2017-01-05T17:24:59.474+0800 [IndexRebuilder] build index on: aso.app_version_info_chn1 properties: { v: 1, unique: true, key: { _fts: "text", _ftsx: 1 }, name: "$**_text", ns: "aso.app_version_info_chn1", weights: { $**: 1 }, default_language: "english", language_override: "language", textIndexVersion: 2 }
2017-01-05T17:24:59.474+0800 [IndexRebuilder]   building index using bulk method

根据错误日志的提示信息,看样子原因是这样的:在db关闭之前,有一二较大的索引建立的操作没有完成,db就直接shutdown了,等db再次启动的时候,mongo默认会将这个index重建好,重建期间处于startup状态

处理方法
由于不清楚building index到底要持续多久,根据错误日志提示,重启mongod时加上--noIndexBuildRetry参数来跳过索引重建。等启动完成后,再评估是否需要建立这个index。
---------------------
作者:胡儿胡儿
来源:CSDN
原文:https://blog.csdn.net/cug_jiang126com/article/details/54097365
版权声明:本文为博主原创文章,转载请附上博文链接!

mongodb启动很慢的更多相关文章

  1. MongoDB启动配置等

    目录: 一.mongoDB 启动配置 二.导出,导入,运行时备份 三.Fsync锁,数据修复 四.用户管理,安全认证 一.启动项 mongod --help C:\Windows\system32&g ...

  2. Mongodb启动命令mongod参数说明

    Mongodb启动命令mongod参数说明 mongod的主要参数有: 基本配置 ----------------------------------------------------------- ...

  3. myeclipse配置下tomcat debug启动很无比慢

    myeclipse配置下tomcat debug启动很无比慢,而run启动很快今天照常使用MyEclipse 6.5 Blue Edition进行开发,但是却遇到一个怪问题.在MyEclipse环境下 ...

  4. mongoDB启动参数备忘

    本文转载 Mongodb启动命令mongod参数说明   mongod的主要参数有:    基本配置   ----------------------------------------------- ...

  5. 安装MongoDB启动时报错‘发生系统错误2’的解决办法

    安装数据库mongodb启动时报"发生系统错误2". 这个问题是如果你之前已经装过一次,并且两次安装目录不同,就绝对会碰到的,因为你之前安装的路径已经在注册表中生成了,并没有随着你 ...

  6. 【mongodb系统学习之五】mongodb启动最常用参数

    五.mongodb启动时其他常用参数的使用(都是选用): 1).--logappend,指定日志的写入方式为追加,强烈建议使用: 2).--port,指定mongodb的端口号,当不使用这个参数的时候 ...

  7. MongoDB启动报错 32-bit servers don't have journaling enabled by default. Please use --journal if you want durability. 【转】

    之前MongoDB启动的时候是蛮正常的,不知道后来启动报错了,就把粘贴出来查询了.最后才知道是由于自己不正常的关闭导致的这个情况. --摘录:MongoDB非正常关闭后修复记录 mongod没有后台执 ...

  8. Shadow Copying导致ASP.NET应用启动很慢的解决办法

    What's Shadow Copying? 我们安装一个应用程序并启动后,我们是无法更新应用程序安装目录中程序集文件的.如果强制替换会提示文件正在使用,如下图所示. 那你可能会问,为什么会无法更新呢 ...

  9. Linux服务器tomcat启动很慢

    Linux服务器tomcat启动很慢 步骤: 一:找到 java 位置 whereis java 输出内容(部分):/usr/lib/java  ...... 二:进入到 lib 目录 cd /usr ...

随机推荐

  1. Struts1的基础知识

    struts1.0的配置 在web.xml文件中的配置 <servlet> <!--配置ActionServlet类,一启动就创建该类对象--> <servlet-nam ...

  2. 协程(Coroutine)与多线程,多进程

    执行多个任务可以使用多线程或多进程. 多进程中,同一个变量,各自有一份拷贝存在于每个进程中,互不影响 多线程中,所有变量都由所有线程共享.而线程间的切换是系统进行调度,无法控制,所以可能 一个进程中的 ...

  3. 第一篇 入门必备 (Android学习笔记)

    第一篇 入门必备 第1章 初识Android 第2章 搭建你的开发环境 第3章 创建第一个程序--HelloWorld 第4章 使用Android工具   ●Android之父 Android安迪·罗 ...

  4. :复合模式:duck

    #ifndef __QUAKEABLE_H__ #define __QUAKEABLE_H__ #include <iostream> #include <vector> us ...

  5. MVC4实现批量更新数据

    Html: @using (Html.BeginForm("Edit", "Home")) { <div> <input type=" ...

  6. github咋用昂

    github-trend:https://github.com/trending github-usingway:https://zhuanlan.zhihu.com/p/41899093 githu ...

  7. nodejs环境下配置运行mysql

    首先需要在本地运行node环境   必须在本地安装mysql(可以用xampp里面的) 在node环境下引入mysql模块   命令: npm install node-mysql 运用例子(前提条件 ...

  8. 使用grafana cli重置grafana密码

    Grafana CLIgrafana cli是grafana server自带的一个小巧的二进制工具,用来在运行grafana server的机器上执行命令.插件grafana cli工具允许你安装升 ...

  9. 校验总结:校验是否是中英文等等(1.正则校验 2.hibernate volidator)

    1.正则校验 import java.util.regex.Matcher;import java.util.regex.Pattern; public class Validation { //-- ...

  10. PhoneGap Vs AppCan

    首先在写这篇文章前,必须先申明一下,本人是技术出身,对HTML技术及手机客户端都有过编程经验,只是出于工作岗位的变动,便没有再具体代码工作,以下文章涉及的中间件的基本代码实现及前期的API使用,都是自 ...