@MongoDBRussian

Страница 226 из 342
yopp
13.04.2018
13:10:33
http://joxi.ru/EA4BJMotDeN8xm
вреоятно монга подхватывает не тот конфиг

directory per db — diretory for indexes
нет, directory per db — это когда на каждую базу будет по своей папке

F
13.04.2018
13:13:34
yopp
13.04.2018
13:13:35
--directoryperdb each database will be stored in a separate directory

Google
Max
13.04.2018
13:14:06
нет, directory per db — это когда на каждую базу будет по своей папке
там была подсвечена другая опция, именно directoryForIndexes это и смутило не заметил directoryPerDb, указанную выше.

yopp
13.04.2018
13:16:08
как можно проверит ?
если вы через systemd запускаете, то в юнит-файле

если через init.d то в rc скрипте

F
13.04.2018
13:16:38
ок спасибо

yopp
13.04.2018
13:17:19
попробуйте вручную проверить ваш конфиг, явно запустив как mongod --config=<path>

и за одно посмотртие, может она где-то при загрузке об этом скажет

Max
13.04.2018
13:17:39
там по скрину выше видно, что монга стартует с командной строки надо —config туда передать , чтобы наверняка

yopp
13.04.2018
13:17:49
и это тоже, да

если не через services или systemctl запускаете

F
13.04.2018
13:18:29
putty

yopp
13.04.2018
13:20:05
putty это ssh клиент. у вас 14.04 убунта, если монга не врёт, в этом случае вам лучше управлять демоном монги через services

например services start mongo и services stop mongo

Google
yopp
13.04.2018
13:21:01
правда там был бардак с названием сервиса, посмотрите в service --status-all

F
13.04.2018
13:21:50
например services start mongo и services stop mongo
так тоже не запускается

yopp
13.04.2018
13:22:01
а что пишет?

F
13.04.2018
13:23:19
Нет mongo

http://joxi.ru/zAN9K8WUlYzYJ2

yopp
13.04.2018
13:24:50
хм, а как вы монгу ставили?

F
13.04.2018
13:29:05
У меня была другая проблема один из БД не работала Похоже что то сломала Попробую переустановить Спасибо всем

Max
13.04.2018
15:02:00
Это надо без остановки сделать?
Да. Сейчас обсуждаем полный дроп коллекции. Насколько это будет приемлемо.

yopp
13.04.2018
15:02:51
Документы обновляются или только добавляются?

Max
13.04.2018
15:04:02
Только до.авляются

yopp
13.04.2018
15:06:24
Тогда есть классический способ. Но он потребует либо изменения логики в приложении либо ещё столько же места

Создаёте коллекцию с новым шард ключом

Добавляете в приложение одновременную запись в обе коллекции

Фиксируете самый большой objectid или если есть другой более хронологический маркер и его тоже

И деполоите приложение. Вероятно надо будет остановить запись на небольшой промежуток, чтоб точно зафиксировать последний документ

А дальше пишете скрипт который переливает данные до последнего objectid из старой коллекции в новую

Когда это закончится, убираете запись в старую коллекцию и переключаете приложение на использование только новой

Место можно съэкономть не записывая в обе, а записывая только в одну. Но тогда приложение при чтении должно самостоятельно роутить запросы в нужную коллекцию

Это не всегда возможно и не очень просто. Но если будет новый шард, место вероятно не является проблемой

Google
yopp
13.04.2018
15:12:33
Единственная засада — проверка целостности такой миграции без остановки

Но опять-же после завершения перелива всех данных из одной в другую коллекцию можно на небольшое время остановить запись и проверить что документов одинаковое количество. Ну и какие-то легковесные запросы которые помогут быстро проверить что и там и там в целом всё совпадает

Max
13.04.2018
15:14:38
Ух

Спасибо за столь развернутый ответ

Буду вникать

Admin
ERROR: S client not available

yopp
13.04.2018
15:15:17
Я так делал, причём не только в монге

Max
13.04.2018
15:15:30
Идея ясна, пообщпюсь с программерами

Думали самое важное перетянуть в отдельную коллекцию, без чего точно не сможем прожить день полтора

yopp
13.04.2018
15:17:20
Да. Можно сначала зафиксировать id, переконвертировать, а потом уйти в write-only режим на время пока разница накопившаяся между действиями тоже переокнвертируется

Max
13.04.2018
15:17:32
Но вариант с роутером запросов в приложении надо рассмотреть

yopp
13.04.2018
15:19:10
Там есть куча подводных камней, не всегда бизнес-логика позволяет так сделать

yopp
13.04.2018
15:20:30
Я бы лил в две коллекции, так оно требует минимум изменений

Но из этого есть один большой вывод: если у вас большая система, очень желательно внедрить штуку, которая позволяет несколько минут буфферизировать входящий трафик. Ну и чтоб клиенты умели ждать несколько минут

Либо иметь слабую связь между системами. Например я видел несколько примеров когда народ использовал логи nginx как буффер. В лог писалось все что нужно приложению, а дальше была выгребалка, которая тейлила лог и заливала данные в базу

Max
13.04.2018
15:24:10
Я еще пытаюсь понять вот если в худшем случае руками поудалять чанки в конфигсеревере. И будет проблема, то какого то Да? Потеряем коллекцию или монга совсем арломается? Или неизвестно и лучше не Надо? :)

Простите за сливовый текст. За рулем не оч удобно. Справлюсь.

Исправлюсь

yopp
13.04.2018
15:25:06
Там вообще надо не чанки удалять, а конфиг коллекции

Даже не удалять, а модифицировать

Google
yopp
13.04.2018
15:25:37
Но так как это недокументированное минное поле, что там может случится — хз

Serhio
13.04.2018
18:32:38
монгу в массы ХЕР политике )

yopp
13.04.2018
18:32:38
Не надо в этом канале разводить политический срач

Alex
15.04.2018
18:58:59
Всем привет, может кто по C# клиенту подсказать?

Страница 226 из 342