Я постоянно вставлял данные в автошарный монгодб. (не обновление, только вставка)nosql mongodb replicaset autosharding, потеря данных при запуске эксперимента
Экспериментальная установка 2 осколка, каждый осколок имеет 2 узла.
в shard1 -> node1 (первичный), node2 в shard2 -> node3 (первичный), node4
в одном осколке я принес вторичный узел (NODE2) вниз -> еще данные получили вставленные правильно Теперь Я также привел первичный (node1) вниз -> полный осколок вниз
Удивительно, но вся установка mongo не писала.
есть еще один поворот в истории. Теперь я привел узел2, так как это единственный доступный узел, он beccame primary и начал принимать данные.
После 10 минут я также привел узел1 вверх.
Но когда я проверил данные, которые я вставил в node1 (когда node2 вниз) был потерян :(.
s1 s2
(n1,n2) (n3,n4)
--------- ---------
1. (up,up) (up, up) -> data was getting inserted
2. (up,down) (up, up) -> data was getting inserted properly (but got lost :()
3. (down, down) (up, up) -> no data inserts were happening
4. (down, up) (up, up) -> started taking data again
5. (up, up) (up, up) -> n1 picked data from n2, but couldn't give the data to n2
на последней стадии, когда я принес n1 вверх, он получил новые записи от n2, но что n1 получил на стадии 2 выше, были полностью потеряли :(.
это ожидаемое поведение Монго?
Кто-то пожалуйста, помогите мне, я могу запустить несколько экспериментов, если требуется :).
Заранее спасибо, Vivekananda Tadala
спасибо за ответ, он очистил многие из моих сомнений, но есть ли способ получить данные о мертвом хозяине и подтолкнуть его к новому хозяину? мы можем что-то сделать с помощью oplog? –
Да ... по крайней мере теоретически. Всякий раз, когда происходит откат, данные должны записываться в .bson-файл в каталоге данных. Вы можете использовать mongorestore, чтобы применить его к текущему мастеру. Однако мы (разработчики MongoDB) говорили сегодня о том, как мы не были уверены, действительно ли он писал файл отката, так что там может быть ошибка. Но если есть, то он будет установлен на 1.8.0. – kristina
Ложная тревога, она не сломана. Данные будут сохранены в каталоге rollback /, см. Http://www.snailinaturtleneck.com/blog/2011/01/19/how-to-use-replica-set-rollbacks/. – kristina