2013-08-25 7 views
0

У меня есть 3 экземпляра Mongos и 6 экземпляров Mongod за ним. Есть 2 автоматических осколочных осколка, и каждый из них имеет 3 набора реплик.Невозможно найти данные по Монгосу, пока он существует на осколке

Сегодня я нахожу, что не могу найти некоторые данные в своей системе, но я могу найти их на RockMongo. Я пытаюсь найти его на монго, но ничего не найдено. Но результат count() сказал мне, что данные все еще там.

mongos> db.video.find({ _id: ObjectId('51a0e7625c8e87cc6a000027') }) 
mongos> db.video.count({ _id: ObjectId('51a0e7625c8e87cc6a000027') }) 
1 
mongos> db.runCommand({ count: "video", query: { _id: ObjectId('51a0e7625c8e87cc6a000027') } }) 
{ "shards" : { "s1" : 0, "s2" : 1 }, "n" : 1, "ok" : 1 } 

Я подключаюсь к shard2 и нахожу запись, но многие поля были потеряны. Между тем, у записи в RockMongo появились все поля.

shard2:PRIMARY> db.video.find({ _id: ObjectId('51a0e7625c8e87cc6a000027') }) 
{ "_id" : ObjectId("51a0e7625c8e87cc6a000027"), "comment" : 78, "like" : 142, "scores" : { "total" : 37042292210.73388, "popular" : 72980.66026813157, "total_play" : 8737, "week_play" : 71 }, "views" : 8739 } 

Потом я обнаружил, что данные счета показывает в RockMongo был 24w +, но в результате возврата, запустив db.xx.count() на mongos был 23w +. Некоторые данные потеряны на Монгосе!

Я попробовал сбросить сбор и восстановить на другой сервер, и все в порядке. Должна быть какая-то вещь между монго и монгод, что мне теперь делать?

+0

Чтобы уточнить, вы запрашиваете тот же документ поверх монго и непосредственно на соответствующем осколке, который его удерживает. Это точный опыт, что из mongos для того же документа вы видите разные поля, чем из запроса на осколке? (Можете ли вы предоставить документ, который является результатом запроса, выполняемого на монго?) – attish

ответ

0

В конце концов, я обнаружил, что первичная часть shard2 потеряла некоторые данные, но еще наборы реплик shard2 сохраняют полные данные. Я завершаю основной и создаю новый набор реплик. Теперь все в порядке.

Смежные вопросы