MongoDB
Монго как набор реплик
Поиск…
Монгод как набор реплик
Мы будем создавать mongodb как набор реплик, имеющий 3 экземпляра. Один экземпляр был бы первичным, а остальные два экземпляра были бы вторичными.
Для простоты я собираюсь установить набор реплик с тремя экземплярами mongodb, работающими на одном сервере, и, таким образом, для достижения этого все три экземпляра mongodb будут работать на разных номерах портов.
В производственной среде, где у вас есть выделенный экземпляр mongodb, запущенный на одном сервере, вы можете повторно использовать одни и те же номера портов.
- Создание каталогов данных (путь, в котором данные 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)
- а. Начать первый экземпляр mongod
- Откройте командную строку и введите следующую команду: нажмите enter.
mongod --replSet s0 --dbpath c:\data\server1 --port 37017 --smallfiles --oplogSize 100
Вышеупомянутая команда связывает экземпляр mongodb с именем replicaSet «s0» и запускает первый экземпляр mongodb на порт 37017 с oplogSize 100MB
- б. Аналогичным образом начните второй экземпляр Mongodb
mongod --replSet s0 --dbpath c:\data\server2 --port 37018 --smallfiles --oplogSize 100
Вышеупомянутая команда связывает экземпляр mongodb с именем replicaSet «s0» и запускает первый экземпляр mongodb на порт 37018 с oplogSize 100MB
- с. Теперь запустите третий экземпляр 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 атрибута
- _id: имя набора реплик ("s0")
- 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 может быть любым уникальным номером, и хост должен быть именем хоста сервера, на котором его запуск сопровождается номером порта.
- Инициируйте объект конфигурации с помощью следующей команды в оболочке mongo.
rs.initiate(config)
- Дайте ему несколько секунд, и у нас есть набор реплик из 3 экземпляров mongod, работающих на сервере. введите следующую команду, чтобы проверить состояние набора реплик и определить, какой из них является первичным, а какой - вторичным.
rs.status();