Alex
$ /opt/mongo/bin/mongod —version db version v2.6.5 2016-04-29T19:24:36.181+0300 git version: e99d4fcb4279c0279796f237aa92fe3b64560bf6
Aleksey
да я так и сделал
Alex
CentOS release 6.7 (Final)
Alex
Хотя, надо признать, что база посыпалась из-за проблем с дисковой подсистемой на текущем мастере (гребаный адаптек :E ) . В этом случае, конечно, особых претензий предъявлять не корректно
Roman
centos же
Roman
в ubuntu 16.04 и сейчас по дефолту 2.6
Alex
Ну понимаете. Если она работает и есть не просит, то у нас хватает других дел, чем гнаться за самой-самой последней версией. Да, и у нас установка не из репозов была.
Alex
И вообще, пинять на то, что все проблемы из-за старой версии - не корректно. Это релизная для своего времени стабильная версия, она должна работать.
Alex
Или, например, расскажите тогда нам, как переносят базы, когда индексы с данными тянут в сумме под 800гб, данные постоянно меняются и базой почти постоянно работают под пару сотен коннектов. Да, она у нас на 2. Если задача плавного переезда 2 -> 3 в такой ситуации для вас лёгкий орешек - я завидую :)
Roman
Что это?
Aleksey
Господа, вижу в mongostat чnо база ~200 операций в секунду занимается удалением
Aleksey
как бы понять коллекцию в которой происходит это ?
Alex
через вебку
Alex
ну или mongotop может поможет
Aleksey
Вебку?
Aleksey
Я как то даже не включал ее
Alex
да. а какая версия? оказывается после 3.2 её зарубили...
Alex
ищите HTTP Status Interface. В нем была таблица, где по коллекция подробно всё расписывалось. Но по идее должна быть альтернатива, надо поискать
Aleksey
3.2
Alex
М, тогда не подойдет
Alex
А, ну вот, вроде через команду можно всё видеть. Правда, табличка была удобнее
Alex
db.adminCommand("top")
Aleksey
Спасибо
Aleksey
то что нужно
Aleksey
дальше обработка напильником :)
Roman
Я случайно узнал что сегодня нерабочий день.
Aleksey
боль, ужас, страдание. как же так ?
J
Коллеги подскажите по этой байде "stateStr" : "ROLLBACK",
J
есть хайлоад проэкт с базой монги в 750гб
J
этот стейт уже больше недели. перед запуском всё было скопировано через rsync
J
мастер 3.0.10 слейв 3.0.1
Alex
реплика, да?
J
да
Alex
а покажите весь rs.status() ?
J
сек
J
mongo-master ~ # mongo MongoDB shell version: 3.0.10 connecting to: test actr:PRIMARY> rs.status() { "set" : "actr", "date" : ISODate("2016-05-04T13:45:03.798Z"), "myState" : 1, "members" : [ { "_id" : 0, "name" : "1.2.3.4:27017", "health" : 1, "state" : 1, "stateStr" : "PRIMARY", "uptime" : 1124613, "optime" : Timestamp(1462369502, 3), "optimeDate" : ISODate("2016-05-04T13:45:02Z"), "electionTime" : Timestamp(1461245375, 1), "electionDate" : ISODate("2016-04-21T13:29:35Z"), "configVersion" : 47573, "self" : true }, { "_id" : 1, "name" : "1.2.3.5:27017", "health" : 1, "state" : 9, "stateStr" : "ROLLBACK", "uptime" : 143156, "optime" : Timestamp(1461243514, 7), "optimeDate" : ISODate("2016-04-21T12:58:34Z"), "lastHeartbeat" : ISODate("2016-05-04T13:45:02.126Z"), "lastHeartbeatRecv" : ISODate("2016-05-04T13:45:03.306Z"), "pingMs" : 0, "syncingTo" : "1.2.3.4:27017", "configVersion" : 47573 }, { "_id" : 2, "name" : "1.2.3.6:27017", "health" : 1, "state" : 7, "stateStr" : "ARBITER", "uptime" : 1123842, "lastHeartbeat" : ISODate("2016-05-04T13:45:02.809Z"), "lastHeartbeatRecv" : ISODate("2016-05-04T13:45:03.146Z"), "pingMs" : 0, "configVersion" : 47573 } ], "ok" : 1 }
J
actr:PRIMARY> db.printReplicationInfo() configured oplog size: 51200.00352478027MB log length start to end: 2425597secs (673.78hrs) oplog first event time: Wed Apr 06 2016 15:28:25 GMT+0300 (MSK) oplog last event time: Wed May 04 2016 17:15:02 GMT+0300 (MSK) now: Wed May 04 2016 17:15:02 GMT+0300 (MSK)
Alex
этот стейт уже больше недели. перед запуском всё было скопировано через rsync
вот это вы зря. Больше недели это однозначно не нормальное время, по доке, данных для ролбека не может быть больше 300ьи
Alex
mb
Alex
https://docs.mongodb.org/manual/core/replica-set-rollbacks/
J
какие советы будут
J
я подумываю о разрыве реплики и поторном копировании базы
J
и ещё момент
J
мастер останавливать не вкоме случае нельзя
J
тоесть при копировании я скопирую лок файл
J
не может ли эта байда быть из за него?
Alex
Попробуйте убрать файлы rollback'a, они там где-то рядом с файлами бд. Только не удаляйте, а просто переместите куда нить. Но это на свой страх и риск. Но раз вы неделю потерю данных не обнаружили, вряд ли там что-то ценное, даже если оно там есть
Alex
When a rollback does occur, MongoDB writes the rollback data to BSON files in the rollback/ folder under the database’s dbPath directory.
Alex
в принципе, данные не потеряны, вы можете почитать их bsondump'ом
J
это про слейв речь так?
Alex
про тот, который сейчас ROLLBACK
J
слей
Alex
он был MASTER
Alex
ну, праймари
J
почему
J
у меня слейв в роллбэке
Alex
смысл процесса rollback почитайте по ссылке
J
спасибо за инфу
J
вот есть там папочка роллбек
J
и там есть файлы bson
J
их тупо перенести с папки?
J
все?
Alex
если кратко: вот работает primary, и внезапно падает. Секондари становится праймари. Бывший праймари поднимается и видит, что он упал, но какая-то часть данных не успела уйти на секондари перед его падением. И он пытается сделать роллбек, т.е досинкать те данные, которые не успели уйти с него на секондари
J
ну собсно это понятно
Alex
да. попробуйте =) Возможно, надо будет перезапустить роллбека
J
монгу?
Alex
да
J
ок
Alex
Поэтому я и говорю, что тот, который сейчас ROLLBACK - это бывший праймари.
Dan
Как получится - отпишитесь пожалуйста
J
переместил файлы и рестартонул
Alex
и как оно
Alex
,
Alex
?
J
рестартонулась
Alex
уже не плохо =)
J
жрет опаративу 96%
J
локально не могу подкл пишет коннектинг и все
J
на мастере "stateStr" : "(not reachable/healthy)",