Назад | Перейти на главную страницу

Не удается настроить набор реплик с помощью MongoDB 3

Я пытаюсь создать набор реплик в MongoDB версии 3.04. Я следил за этим руководство и появляется следующая ошибка при попытке добавить узлы с помощью основного сервера:

vacrep:PRIMARY> rs.add('server address here')
{
    "ok" : 0,
    "errmsg" : "Quorum check failed because not enough voting nodes responded;
     required 2 but only the following 1 voting nodes responded: PRIMARYSERVER:27017; 
     the following nodes did not respond affirmatively: 'server address here':27017 
     failed with Missing credentials for authenticating as internal user",
     "code" : 74
}

Вот что было сделано до сих пор:

  1. Установите 3 сервера с MongoDB 3.04
  2. Запустите все экземпляры MongoDB в режиме repSet
  3. Проверенная связь между серверами с использованием этого подходить
  4. Инициируйте реплику на первичном сервере)

Я нашел несколько тем об этой ошибке, но не смог найти решения ни в одной из них. Как я могу это решить?

Нашел решение - это была проблема с разрешением.

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

https://docs.mongodb.com/manual/tutorial/deploy-replica-set-with-keyfile-access-control/#deploy-repl-set-with-auth

По этой причине мои серверы не могли общаться друг с другом.

В дополнение к приведенному выше ответу, который, очевидно, верен, следующие шаги будут полезны при создании файлов ключей:

  1. Откройте новую вкладку в любом текстовом редакторе, вставьте любой случайный ключ без пробелов.

  2. Сохраните файл без расширения

  3. Завершите работу каждого экземпляра mongo следующим образом:

    а. use admin

    б. db.shutdownServer();

  4. Теперь перезапустите экземпляры mongo с аргументом keyFile.

    например start "jaguar" mongod --dbpath "D:\Mongo\data\Replica Sets\Jaguar" --port 50000 --replSet "clusterset" --keyFile "D:\Mongo\data\Replica Sets\Jaguar\Key\F2AB9B2DCF7933733A35EE9C81C34"