Поиск…


Монгод как набор реплик

Мы будем создавать mongodb как набор реплик, имеющий 3 экземпляра. Один экземпляр был бы первичным, а остальные два экземпляра были бы вторичными.

Для простоты я собираюсь установить набор реплик с тремя экземплярами mongodb, работающими на одном сервере, и, таким образом, для достижения этого все три экземпляра mongodb будут работать на разных номерах портов.

В производственной среде, где у вас есть выделенный экземпляр mongodb, запущенный на одном сервере, вы можете повторно использовать одни и те же номера портов.

  1. Создание каталогов данных (путь, в котором данные mongodb будут храниться в файле)
- mkdir c:\data\server1 (datafile path for instance 1)
- mkdir c:\data\server2 (datafile path for instance 2)
- mkdir c:\data\server3 (datafile path for instance 3)
  1. а. Начать первый экземпляр mongod
  • Откройте командную строку и введите следующую команду: нажмите enter.
mongod --replSet s0 --dbpath c:\data\server1 --port 37017  --smallfiles --oplogSize 100

Вышеупомянутая команда связывает экземпляр mongodb с именем replicaSet «s0» и запускает первый экземпляр mongodb на порт 37017 с oplogSize 100MB

  1. б. Аналогичным образом начните второй экземпляр Mongodb
mongod --replSet s0 --dbpath c:\data\server2 --port 37018  --smallfiles --oplogSize 100

Вышеупомянутая команда связывает экземпляр mongodb с именем replicaSet «s0» и запускает первый экземпляр mongodb на порт 37018 с oplogSize 100MB

  1. с. Теперь запустите третий экземпляр Mongodb
mongod --replSet s0 --dbpath c:\data\server3 --port 37019  --smallfiles --oplogSize 100

Вышеупомянутая команда связывает экземпляр mongodb с именем replicaSet «s0» и запускает первый экземпляр mongodb на порт 37019 с oplogSize 100MB

При запуске всех трех экземпляров эти 3 экземпляра в настоящее время независимы друг от друга. Теперь нам нужно сгруппировать эти экземпляры в виде набора реплик. Мы делаем это с помощью объекта конфигурации.

3.a Подключитесь к любому из серверов mongod через оболочку mongo. Для этого откройте командную строку и введите ее.

mongo --port 37017

После подключения к оболочке mongo создайте объект конфигурации

   var config = {"_id":"s0", members[]};

этот конфигурационный объект имеет 2 атрибута

    1. _id: имя набора реплик ("s0")
    2. members: [] (члены представляют собой массив экземпляров mongod. Давайте теперь сохраним этот пробел, мы добавим элементы с помощью команды push.

3.b. Нажать (добавить) экземпляры mongod в массив элементов в объекте config. По типу оболочки манго

 config.members.push({"_id":0,"host":"localhost:37017"});
 config.members.push({"_id":1,"host":"localhost:37018"});
 config.members.push({"_id":2,"host":"localhost:37019"});

Мы присваиваем каждому экземпляру mongod _id и хост. _id может быть любым уникальным номером, и хост должен быть именем хоста сервера, на котором его запуск сопровождается номером порта.

  1. Инициируйте объект конфигурации с помощью следующей команды в оболочке mongo.
rs.initiate(config)
  1. Дайте ему несколько секунд, и у нас есть набор реплик из 3 экземпляров mongod, работающих на сервере. введите следующую команду, чтобы проверить состояние набора реплик и определить, какой из них является первичным, а какой - вторичным.
rs.status();


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow