【发布时间】:2015-12-16 09:39:38
【问题描述】:
我有一个 MongoDB 副本集,包括三个节点,1 个主节点,1 个辅助节点和一个仲裁节点。
当我从主节点对辅助节点执行初始重新同步时,主节点被终止。当我检查主节点的日志时,显示的异常是
严重:地址无效访问:0x7fcde1e00ff0SEVERE:地址无效访问:0x7fcde1e00ff0
严重:收到信号:7(总线错误)
从那时起,由于此异常,此主节点未启动,辅助节点卡在 STARTUP2 状态。
我能够在不同端口上启动主节点作为独立节点(或在维护模式下)并读取其数据。但是,每当我将它作为副本集的一部分运行时,它就会因上述异常而终止
主要和次要使用 RAID0 作为它们的存储。数据大小约为 550GB。
我将主节点(当前已关闭)的全部数据复制到辅助节点(处于STARTUP2状态),然后重新启动辅助节点。但它也没有奏效。辅助节点在重新启动时被选为主节点,但也会在选举后的一秒内终止,但以下异常:
严重:logOp() 中的致命 DBException:10334 BSONObj 大小:50359410 (0x3006C72) 无效。大小必须在 0 到 16793600(16MB) 之间 第一个元素:2:?type=111
严重:调用终止(),打印堆栈(如果为平台实现): 0x11fd1b1 0x11fc438 0x7ff56dc01846 0x7ff56dc01873 0xe54c9e 0xc4de1b 0xc58f46 0xa0bac1 0xa0c250 0xa0f1bf 0xa0fcc1 0xa1323e 0xa2949a 0xa2af32 0xa2cd36 0xd61654 0xba21a2 0xba3780 0x7724a9 0x11b2fde 强>
在这种情况下如何恢复和恢复副本集。
我也有这些数据的备份。我可以删除此副本集并使用此备份数据重新创建副本集吗?
在这个 MongoDB 集群中还有另一个副本集运行良好。
【问题讨论】:
-
您是否在配置文件中启用了身份验证?您能否将配置文件分享给我们,以便更好地解决问题。
-
否,未启用身份验证。
-
我尝试了几天,但在排除此问题后找不到任何解决方案。所以我重新创建了副本集并从备份中恢复了数据。
-
你能分享你的配置文件吗?副本之间是否还有端口开放??
-
我现在没有确切的配置文件,但我在那里定义的参数(用于数据节点)是:
log path, dbPath, port, maxIncomingConnections, replSetName, oplogSizeMB, maxIncomingConnections& 设置了以下参数logAppend: true, journal: enabled: true, fork: true, enableLocalhostAuthBypass: false, newCollectionsUsePowerOf2Sizes: false, clusterRole: shardsvr副本之间的端口也是开放的
标签: mongodb