
yopp
13.04.2018
13:10:33

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

F
13.04.2018
13:15:03

yopp
13.04.2018
13:16:08
если через 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

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
У меня была другая проблема один из БД не работала Похоже что то сломала Попробую переустановить Спасибо всем

yopp
13.04.2018
15:00:50

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
Но так как это недокументированное минное поле, что там может случится — хз

Max
13.04.2018
15:25:51

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

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

Игорь
13.04.2018
18:33:29

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