@dufrein2013

Как сконвертировать mongo Standalone в набор реплик?

Ставил mongo на windows, а точнее для использования на WSL (подсистема ubuntu на винду), юзал для pet project на JS, теперь хочу сконвертировать mongod в набор реплик. Как это сделать на виндовс?

дополню
Извиняюсь за совсем элементарные вопросы
база находиться на винде, через cmd запустил команду:

C:\Program Files\MongoDB\Server\4.2\bin>mongod --dbpath="C:\Program Files\MongoDB\Server\4.2\data" -bind_ip_all --replSet rs0
в ответ консоль вывела некоторую инфу, и под конец вот это:

2021-03-01T02:28:09.459+0400 I CONTROL [LogicalSessionCacheReap] Failed to reap transaction table: NotYetInitialized: Replication has not yet been configured
2021-03-01T02:28:09.461+0400 I CONTROL [LogicalSessionCacheRefresh] Sessions collection is not set up; waiting until next sessions refresh interval: Replication has not yet been configured
после чего не дождавшись результата, прервал операцию и ввёл mongo --eval 'rs.initiate();'
и всё, это уже конец операции, получается она прошла неуспешно? как решить эту проблему?
  • Вопрос задан
  • 81 просмотр
Решения вопроса 1
@dufrein2013 Автор вопроса
Решил следующим образом, объясняю для таких же нубов как я.
Так как пользуюсь виндой, хоть и с wsl, но база лежит по виндовскому адресу и команды будут соответствующие.
1. сперва в cmd переходим по адресу где лежит приложение mongo.exe т.е. примерно сюда
C:\Program Files\MongoDB\Server\4.2\bin
2. Запускаем команду
>mongod --port 27017 --dbpath="C:\Program Files\MongoDB\Server\4.2\data" --replSet rs0 --bind_ip localhost
в ответ консоль вывела некоторую инфу, после чего
3. Запускаем командную утилиту mongo shell и там вводим команду
>rs.initiate()
в ответ выйдет некоторая инфа, можно сказать объект в JS стиле, там будет поле ok:1, как я понял это значит норм
4. Можно ввести команду проверить инфо о статусе реплик
> rs.status()
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Aco
@Aco
Заклинатель кода
Не думаю что на WSL будет отличаться от линкса. Достаточно перезапустить mongod с параметром --replSet:
/usr/bin/mongod -bind_ip_all --replSet rs0

После этого Standalone превратиться в реплику из одной ноды, потом можете добавлять реплики (не забывая про --replSet rs0), если надо.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы