Подтвердить что ты не робот

Как изменить конфигурацию набора реплик?

У меня работает mongo 2 node, с этой конфигурацией конфигурации реплики.

config = {_id: "repl1", members:[
{_id: 0, host: 'localhost:15000'},
{_id: 1, host: '192.168.2.100:15000'}]
}

Мне нужно переместить эти оба узла на новые серверы. Я скопировал все с старых на новые серверы, но у меня проблемы с реконфигурированием конфигурации реплики из-за изменения ip на втором node.

Я пробовал это.

config = {_id: "repl1", members:[
 {_id: 0, host: 'localhost:15000'},
{_id: 1, host: '192.168.2.200:15000'}]
}
   rs.reconfig(config)  
   {


"startupStatus" : 1,
"errmsg" : "loading local.system.replset config (LOADINGCONFIG)",
"ok" : 0
}

Это сообщение отображается выше, но изменения не происходит.

Я также попытался изменить имя набора реплик, но указав на те же данные dirs. Я получаю следующую ошибку:

rs.initiate() 
{
"errmsg" : "local.oplog.rs is not empty on the initiating member. cannot initiate.",
"ok" : 0
}

Каковы правильные шаги для изменения IP-адреса, но сохранение данных на втором node, или мне нужно воссоздать/повторить синхронизацию 2-го node?

4b9b3361

Ответ 1

Ну, у меня была та же проблема.

Мне пришлось удалить все репликации и oplog.

use local
db.dropDatabase()

перезагрузите монго с новым заданным именем

config = {_id: "repl1", members:[
{_id: 0, host: 'localhost:15000'},
{_id: 1, host: '192.168.2.100:15000'}]
}

rs.initiate(config)

Я надеюсь, что это тоже сработает для вас.

Ответ 2

Вы можете использовать параметр force при настройке репликации:

rs.reconfig(config, {force: true})

Обратите внимание, что, как уже сказал Адам в комментариях, у вас должно быть как минимум 3 узла: 2 полных узла и 1 арбитр (минимальная поддерживаемая конфигурация) или 3 полных узла (минимальная рекомендуемая конфигурация), так что первичный node может быть избран.

Ответ 3

Я понимаю, что это старый пост, но я обнаружил, что получаю эту ту же ошибку при попытке изменить порт, используемый вторичными в моем наборе реплик.

В моем случае мне нужно было остановить вторичную конфигурацию, которую я менял, и вывести ее на новый адрес и порт ПЕРЕД добавлением измененной конфигурации в Primary.

Это в документации монго, но порядок, в котором мне приходилось поднимать вещи вверх и вниз, было то, что я неправильно читал на первом проходе, поэтому для ясности я повторил это здесь:

  • Выключите второй элемент набора реплик, который вы перемещаете.
  • Принесите вторичную резервную копию на свой новый адрес
  • Измените конфигурацию, как указано в исходном сообщении выше.