我正在运行一个mongodb(2.0.4)replicaset与一个主和两个奴隶,其中一个是隐藏奴隶备份。 我正在使用http://docs.mongodb.org/manual/core/replica-set-architecture-three-members/
当我运行mongodump --oplog -h rsuat/10.0.3.163 --out /tmp/lala
我得到:
Fri Dec 13 09:05:53 starting new replica set monitor for replica set rsuat with seed of 10.0.3.163 Fri Dec 13 09:05:53 successfully connected to seed 10.0.3.163 for replica set rsuat Fri Dec 13 09:05:53 changing hosts to { 0: "10.0.2.234:27017", 1: "10.0.4.96:27017" } from rsuat/ Fri Dec 13 09:05:53 trying to add new host 10.0.2.234:27017 to replica set rsuat Fri Dec 13 09:05:53 successfully connected to new host 10.0.2.234:27017 in replica set rsuat Fri Dec 13 09:05:53 trying to add new host 10.0.4.96:27017 to replica set rsuat Fri Dec 13 09:05:53 successfully connected to new host 10.0.4.96:27017 in replica set rsuat Fri Dec 13 09:05:53 replica set monitor for replica set rsuat started, address is rsuat/10.0.2.234:27017,10.0.4.96:27017 Fri Dec 13 09:05:53 [ReplicaSetMonitorWatcher] starting connected to: rsuat/10.0.3.163 all dbs DATABASE: connect_log,mongodb: to /tmp/lala/connect_log,mongodb: connect_log,mongodb:.log to /tmp/lala/connect_log,mongodb:/log.bson 131600/142621 92% 142621 objects connect_log,mongodb:.system.indexes to /tmp/lala/connect_log,mongodb:/system.indexes.bson 1 objects Segmentation fault (core dumped)
它没有oplog标志。 任何人都知道什么可能是错的?
编辑:分割故障似乎发生,即使我不使用oplog标志,所以错误是当做一个完整的转储。
编辑2:这是从系统日志引起的瘫痪,如果有任何帮助:
ip-10-0-3-163 kernel: [23126212.267385] mongodump[26858]: segfault at 0 ip 00007f234ca776c4 sp 00007fff2b9d5f00 error 4 in libc-2.15.so[7f234ca09000+1b5000]
应该注意的是,使用--oplog并不构成“完全转储”,该标志将转储在转储开始和转储结束之间应用于oplog所有操作。 也就是说,它会给你oplog的一部分,这样你恢复时的转储(使用--oplogReplay )将代表转储结束时的数据。
但是,它不会转储oplog本身,所以如果在转储过程中没有插入/更新,则不需要。 实际上,我认为在mongodump中有一些空的集合错误,所以如果在转储的开始和结束之间oplog中没有操作,那么这可能是你的问题。
作为解决这个问题的另一种可能的方法 – 是否尝试过使用较新版本的工具(2.4.x等)对2.0.4实例。 目前版本2.0.4已经很老了,甚至还有几个2.0.x版本,更不用说其他两个主要版本了。 你不必有2.4版本的服务器来使用它的工具,这可能会让你周围的一些老的mongodump错误。