• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Mongodb 崩溃报错 Too many open files的问题解析

    在项目实际使用过程中,客户反馈能打开网页但无法登陆,第一时间感觉到应该是数据库服务器挂了,于是查看Mongodb数据库服务器日志,果不其然挂了。
    报错信息如下:

    2020-12-28T13:21:21.731+0800 E STORAGE  [conn2624] WiredTiger error (24) [1609132881:731422][23581:0x7fe157189700], WT_SESSION.create: __posix_directory_sync, 135: /data1/mongodb/data/db/: directory-sync: open: Too many open files Raw: [1609132881:731422][23581:0x7fe157189700], WT_SESSION.create: __posix_directory_sync, 135: /data1/mongodb/data/db/: directory-sync: open: Too many open files
    2020-12-28T13:21:21.731+0800 E STORAGE  [conn2624] WiredTiger error (24) [1609132881:731616][23581:0x7fe157189700], WT_SESSION.create: __posix_directory_sync, 151: /data1/mongodb/data/db/collection-1063-1706476241051221735.wt: directory-sync: Too many open files Raw: [1609132881:731616][23581:0x7fe157189700], WT_SESSION.create: __posix_directory_sync, 151: /data1/mongodb/data/db/collection-1063-1706476241051221735.wt: directory-sync: Too many open files
    2020-12-28T13:21:21.731+0800 E STORAGE  [conn2624] WiredTiger error (-31804) [1609132881:731651][23581:0x7fe157189700], WT_SESSION.create: __wt_panic, 494: the process must exit and restart: WT_PANIC: WiredTiger library panic Raw: [1609132881:731651][23581:0x7fe157189700], WT_SESSION.create: __wt_panic, 494: the process must exit and restart: WT_PANIC: WiredTiger library panic
    2020-12-28T13:21:21.731+0800 F -        [conn2624] Fatal Assertion 50853 at src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp 420
    2020-12-28T13:21:21.731+0800 F -        [conn2624]

    ***aborting after fassert() failure

    可以看到核心问题就是 Too many open files。经查阅相关资料,造成如下问题的原因就是Centos7给每个用户默认的同时打开文件的数值为1024,可通过如下配置文件查看:

    ulimit -a

    其中所有的参数均可修改,那么如何修改open files呢?
    在此提供两种方法:
    首先查看系统全局参数:

    所以我们可以修改的最大值也是174198

    具体修改方法一:
    新建一个nofile.conf文件:

    vi /etc/security/limits.d/nofile.conf

    在此配置文件中写入:

    * soft nofile 65536
    * hard nofile 65536

    保存后,需要重启系统,永久有效。

    具体修改方法二:(不需要重启,不需要停服务,动态修改
    1,查看mongodb pid:

    2,查看对应pid limits:

    cat /proc/41814/limits

    3,可直接编辑以上文件,也可以直接运行命令行:

    prlimit --pid 41814 --nofile=65535:65535

    4,再次查看,修改成功:

    总结:建议双管齐下,都修改了。

    到此这篇关于Mongodb 崩溃报错 Too many open files的问题解析的文章就介绍到这了,更多相关Mongodb 报错 Too many open files内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • MongoDB启动报错 28663 Cannot start server
    • MongoDB添加仲裁节点报错:replica set IDs do not match的解决方法
    • NodeJS连接MongoDB数据库时报错的快速解决方法
    • 关于mongoose连接mongodb重复访问报错的解决办法
    • perl操作MongoDB报错undefined symbol: HeUTF8解决方法
    上一篇:解决MAC上启动mongod报错exiting with code 1的问题
    下一篇:一次因mongo查询不存在字段引发的事故记录
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Mongodb 崩溃报错 Too many open files的问题解析 Mongodb,崩溃,报错,Too,many,