Я запускаю набор реплик mongodb (2.0.4) с одним главным и двумя подчиненными устройствами, где один является скрытым подчиненным устройством для резервного копирования. я использую 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. Кто-нибудь понял, что может быть не так?
EDIT: ошибка сегментации, кажется, происходит, даже если я не использую флаг oplog, поэтому ошибка возникает при выполнении полного дампа.
EDIT2: это строка из системного журнала, вызванная segault, если это может помочь:
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
) будет представлять данные так, как они были в конце дампа.
Однако он не сбрасывает сам журнал операций, поэтому, если вы не вставляете / не обновляете во время дампа, он не нужен. На самом деле, я думаю, что было несколько ошибок пустой коллекции с mongodump
поэтому, если в журнале операций между началом и концом дампа нет операций, это может быть вашей проблемой.
В качестве еще одного возможного способа обойти это - пробовали ли вы использовать более новые версии инструментов (2.4.x и т. Д.) Против экземпляра 2.0.4. Версия 2.0.4 на данный момент довольно старая, после нее было еще несколько выпусков 2.0.x, не говоря уже о двух основных выпусках, еще один должен быть скоро. Вам не обязательно иметь версию сервера 2.4, чтобы использовать его инструменты, которые могут помочь вам справиться с некоторыми из старых mongodump
ошибки.