Как реализовать реплику в MongoDB в Ubuntu VPS

{title}

{title}


MongoDB - очень популярная база данных NoSQL. Он часто используется для хранения и управления данными приложения и информацией сайта. MongoDB имеет динамическую схему расположения, легкую масштабируемость и формат данных, к которым легко получить программный доступ.
Мы увидим, как настроить репликацию данных, чтобы обеспечить высокую доступность данных и создать надежную систему отработки отказа. Это важно в любой производственной среде, где выход из строя базы данных негативно повлияет на вашу организацию или бизнес.
Что такое набор репликации MongoDB?
MongoDB обрабатывает репликацию через приложение под названием «Наборы репликации». Наборы реплик в своей базовой форме несколько похожи на узлы в конфигурации «главный / подчиненный». Один основной элемент используется в качестве основы для применения изменений к дополнительным элементам.
Разница между набором репликации «главный-подчиненный» и набором репликации заключается в том, что набор репликации имеет встроенный автоматический механизм отработки отказа в случае недоступности основного элемента.
Основной элемент. Основной элемент является точкой доступа по умолчанию для транзакций с набором репликации. Это единственный член, который может принимать операции записи.
Каждый набор репликации может иметь только одного основного члена одновременно. Это связано с тем, что репликация происходит путем копирования журнала операций и повторения изменений в наборе данных вторичной репликации. Если несколько основных цветов будут принимать операции записи, это приведет к конфликтам данных.
Вторичные члены. Набор репликации может содержать несколько дочерних элементов. Вторичные члены воспроизводят изменения из журнала операций в своих собственных данных
Хотя приложения по умолчанию будут обращаться к основному члену как для чтения, так и для записи, вы можете настроить свои параметры для чтения из одного или нескольких дополнительных членов. Участник средней школы может стать директором, если основной отсоединяется или уходит.
Для настройки репликации мы начнем с добавления ip на хост.
 nano / etc / hosts 127.0.0.1 localhost mongo0 123.456.789.111 mongo0.dominio.com 123.456.789.222 mongo1.dominio.com 123.456.789.333 mongo2.dominio.com 

Отредактируйте файл / etc / hostname:
 nano / etc / hostname mongo0.example.com 

Теперь нам нужно сделать, чтобы запустить конфигурацию MongoDB, чтобы мы остановили процесс MongoDB на каждом сервере.
 остановка сервиса mongodb 

Теперь нам нужно настроить каталог, который будет использоваться для хранения наших данных. Создайте каталог с помощью следующей команды:
 mkdir / монго-метаданные 

Чтобы отразить нашу новую конфигурацию набора репликации
 nano / etc / mongodb.conf dbpath = / порт моно-метаданных = 27017 replSet = rs0 fork = true 

Сохраните и закройте файл. Запустите член репликации, введя следующую команду:
 mongod --config / etc / mongodb.conf 

Эти шаги необходимо повторить для каждого члена набора реплик.
Запустить набор репликации
Теперь, когда вы настроили каждого члена набора репликации и запустили процесс mongod на каждом компьютере, вы можете запустить репликацию и добавить каждого участника.
В одном из его членов напишите:
монго
Это даст уведомление MongoDB текущему члену.
Запустите настройку репликации, введя:
 rs.initiate () 

Это запустит набор репликации и добавит сервер, к которому вы в данный момент подключены, в качестве первого члена набора. Это можно увидеть, набрав:
 rs.conf () {"_id": "rs0" "версия": 1, "members": [{"_id": 0, "host" "mongo0.example.com: 27017"}]} 

Теперь вы можете добавить узлы в набор реплик, ссылаясь на имя хоста, которое вы им дали в файле / etc / hosts:
 rs.add ("mongo1.example.com") {"ОК": 1} 

Сделайте это для каждого из оставшихся членов репликации. Теперь ваш набор репликации должен быть в рабочем состоянии.

  • 0