当前位置: 首页 > 编程笔记 >

mongodb在建立一个T级别的数据库时,进程挂掉的解决方法

澹台展鹏
2023-03-14
本文向大家介绍mongodb在建立一个T级别的数据库时,进程挂掉的解决方法,包括了mongodb在建立一个T级别的数据库时,进程挂掉的解决方法的使用技巧和注意事项,需要的朋友参考一下

mongod进程退出, 退出时数据库中记录大概1.2亿,数据库小大600G

错误信息如下:

Sat May 12 08:37:18 Invalid access at address: 0x7ef6036a9000

Sat May 12 08:37:19 Got signal: 7 (Bus error).

Sat May 12 08:37:19 [conn4878] moveChunk data transfer progress: { active: true, ns: "genbank.main", from: "shard1/192.168.136.72:29022,192.168.136.73:29023,192.168.136.79:29021", min: { _id: ObjectId('4fabda86be960438ed0099d2') }, max: { _id: ObjectId('4fabdaa1be960439500040b1') }, state: "clone", counts: { cloned: 8138, clonedBytes: 50270960, catchup: 0, steady: 0 }, ok: 1.0 } my mem used: 0
Sat May 12 08:37:19 Backtrace:
0xa90999 0xa90f70 0x7f3c7ffcc060 0x7f3c7f5b3873 0xa48342 0xa48c76 0x97cd04 0x97e2ff 0x940ca5 0x944574 0x8866b7 0x88dc29 0xaa33f6 0x637407 0x7f3c7ffc3efc 0x7f3c7f55d89d
 /usr/local/mongodb-linux-x86_64-2.0.4/bin/mongod(_ZN5mongo10abruptQuitEi+0x399) [0xa90999]
 /usr/local/mongodb-linux-x86_64-2.0.4/bin/mongod(_ZN5mongo24abruptQuitWithAddrSignalEiP7siginfoPv+0x220) [0xa90f70]
 /lib/x86_64-linux-gnu/libpthread.so.0(+0x10060) [0x7f3c7ffcc060]
 /lib/x86_64-linux-gnu/libc.so.6(+0x137873) [0x7f3c7f5b3873]
 /usr/local/mongodb-linux-x86_64-2.0.4/bin/mongod(_ZN5mongo17MigrateFromStatus5cloneERSsRNS_14BSONObjBuilderE+0x3d2) [0xa48342]
 /usr/local/mongodb-linux-x86_64-2.0.4/bin/mongod(_ZN5mongo19InitialCloneCommand3runERKSsRNS_7BSONObjEiRSsRNS_14BSONObjBuilderEb+0x16) [0xa48c76]
 /usr/local/mongodb-linux-x86_64-2.0.4/bin/mongod(_ZN5mongo11execCommandEPNS_7CommandERNS_6ClientEiPKcRNS_7BSONObjERNS_14BSONObjBuilderEb+0x6a4) [0x97cd04]
 /usr/local/mongodb-linux-x86_64-2.0.4/bin/mongod(_ZN5mongo12_runCommandsEPKcRNS_7BSONObjERNS_11_BufBuilderINS_16TrivialAllocatorEEERNS_14BSONObjBuilderEbi+0x6ff) [0x97e2ff]
 /usr/local/mongodb-linux-x86_64-2.0.4/bin/mongod(_ZN5mongo11runCommandsEPKcRNS_7BSONObjERNS_5CurOpERNS_11_BufBuilderINS_16TrivialAllocatorEEERNS_14BSONObjBuilderEbi+0x35) [0x940ca5]
 /usr/local/mongodb-linux-x86_64-2.0.4/bin/mongod(_ZN5mongo8runQueryERNS_7MessageERNS_12QueryMessageERNS_5CurOpES1_+0x1724) [0x944574]
 /usr/local/mongodb-linux-x86_64-2.0.4/bin/mongod() [0x8866b7]
 /usr/local/mongodb-linux-x86_64-2.0.4/bin/mongod(_ZN5mongo16assembleResponseERNS_7MessageERNS_10DbResponseERKNS_11HostAndPortE+0x559) [0x88dc29]
/usr/local/mongodb-linux-x86_64-2.0.4/bin/mongod(_ZN5mongo16MyMessageHandler7processERNS_7MessageEPNS_21AbstractMessagingPortEPNS_9LastErrorE+0x76) [0xaa33f6]
 /usr/local/mongodb-linux-x86_64-2.0.4/bin/mongod(_ZN5mongo3pms9threadRunEPNS_13MessagingPortE+0x287) [0x637407]
 /lib/x86_64-linux-gnu/libpthread.so.0(+0x7efc) [0x7f3c7ffc3efc]
 /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7f3c7f55d89d]

Logstream::get called in uninitialized state
Sat May 12 08:37:19 ERROR: Client::~Client _context should be null but is not; client:conn
Logstream::get called in uninitialized state
Sat May 12 08:37:19 ERROR: Client::shutdown not called: conn

问题已经解决。有用机器是numa架构,因此在启动mongod进程的时候加上:numactl --interleave=all
mongodb官网上有如下说明,可供参考:
Linux, NUMA and MongoDB tend not to work well together. If you are running MongoDB on numa hardware, we recommend turning it off (running with an interleave memory policy). Problems will manifest in strange ways, such as massive slow downs for periods of time or high system cpu time.

numactl
To turn off NUMA, start mongod with

numactl --interleave=all ${MONGODB_HOME}/bin/mongod --config conf/mongodb.conf

proc settings

echo 0 > /proc/sys/vm/zone_reclaim_mode

You can change zone_reclaim_mode without restarting mongod. For more information on this setting seehttp://www.kernel.org/doc/Documentation/sysctl/vm.txt.

 类似资料:
  • 本文向大家介绍NodeJS连接MongoDB数据库时报错的快速解决方法,包括了NodeJS连接MongoDB数据库时报错的快速解决方法的使用技巧和注意事项,需要的朋友参考一下 今天第一次尝试连接MongoDB数据库,具体步骤也很简单。 首先,通过NodeJS运行环境安装MongoDB包,进入要安装的目录,执行语句 npm install mongodb安装成功后,通过如下语句测试与数据库建立连接几

  • 本文向大家介绍ASP网站中数据库被挂木马的解决方案,包括了ASP网站中数据库被挂木马的解决方案的使用技巧和注意事项,需要的朋友参考一下 本文我们详细介绍了ASP数据库被挂木马的详细解决方案之编程处理的方法,解决方案分为以下三步: 第一步: 为现有数据库做好备份。 第二步: 执行如下ASP文件,这样就可以去掉数据库当中的JS木马: 注:conn.asp自己去写了。 '这里放入JS木马内容:请记得改为

  • 本文向大家介绍Python操作mongodb数据库的方法详解,包括了Python操作mongodb数据库的方法详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python操作mongodb数据库的方法。分享给大家供大家参考,具体如下: 安装pymongo 下载pymongo: https://pypi.python.org/packages/82/26/f45f95841de5164c

  • Tips 在贝格乐,您的帐户需要具有管理员的权限才能创建Git数据库。如果您的帐户没有管理员的权限,可以委托有此权限的人来创建数据库。友情提示:您可以使用免费方案的贝格乐空间哟。 从这里获取空间 请登录到贝格乐,然后,从创建数据库的项目菜单中点击“Git”。如果您的空间还没有任何项目,请先创建一个项目。 如果页面没有显示“Git”标签,请先激活Git功能。“项目设置” > 在 “Git设置”

  • 问题内容: 我正在尝试将数据从一个数据库复制到另一个数据库。一切工作正常,直到修改了源数据库中的一行之一(下面的堆栈跟踪)。按预期将新行添加到目标数据库。 对于每个数据库连接(mysql和hsqldb),我都有一个由以下bean组成的上下文文件: 在我为每个数据库连接中创建一个: 很简单: 我正在使用Spring Integration将2种服务方法连接在一起。服务方法如下: 我尝试过从s 分离列

  • 我试图为一个编程类设置一个Java DB数据库。我正在遵循Deitel和Deitel教科书中的步骤: 我已经安装了JDK11.8.0_112。我运行的是Windows10。 我的安装在C:\program files\java\jdk1.8.0_112。我将JAVA_HOME var设置为C:\program files\java\jdk1.8.0_112 然后,连接'jdbc:derby:new