Съдържание
MongoDB е много популярна база данни NoSQL. Често се използва за съхраняване и управление на данни за приложения и информация за уебсайтове. MongoDB се отличава с динамичен дизайн на схемата, лесна мащабируемост и формат на данни, който е лесно достъпен програмно.Ще видим как да конфигурираме репликацията на данни, за да осигурим висока наличност на данни и да създадем стабилна система за прехвърляне на отказа. Това е важно във всяка производствена среда, където падащата база данни би имала отрицателно въздействие върху вашата организация или бизнес.
Какво е комплект за репликация на MongoDB?
MongoDB обработва репликация чрез приложение, наречено Репликационни набори. Репликационните набори в основната си форма са донякъде подобни на възлите в конфигурация главен / подчинен. Един родителски член се използва като основа за прилагане на промени към дъщерни членове.
Разликата между репликационния набор и репликацията главен-подчинен е, че репликационният набор има присъщ механизъм за автоматично прехвърляне на отказа в случай, че основният член е недостъпен.
Основен член: Първичният член е точката за достъп по подразбиране за транзакции с набора за репликация. Това е единственият член, който може да приема операции за запис.
Всеки набор от репликации може да има само един основен член наведнъж. Това е така, защото репликацията възниква чрез копиране на дневника на операциите и повтаряне на промените в набора от данни за вторична репликация. Ако няколко праймериз биха приели операции за запис, това би довело до конфликти на данни.
Детски членове - Репликационният набор може да съдържа множество деца. Членовете -деца възпроизвеждат промените от дневника на операциите в собствените си данни
Въпреки че приложенията по подразбиране ще запитват основния член както за четене, така и за писане, можете да конфигурирате настройките си да четат от един или повече от вторичните членове. Вторичният член може да стане първичен, ако първичният се изключи или извърши стъпка.
За да конфигурираме репликацията, започваме с добавяне на ip към хоста.
nano / etc / hosts 127.0.0.1 localhost mongo0 123.456.789.111 mongo0.domain.com 123.456.789.222 mongo1.domain.com 123.456.789.333 mongo2.domain.com
Редактирайте файла / etc / hostname:
nano / etc / hostname mongo0.example.com
Сега трябва да стартираме MongoDB конфигурацията, за да спрем процеса MongoDB на всеки сървър.
услуга mongodb стоп
Сега трябва да настроим директория, която да се използва за съхраняване на нашите данни. Създайте директория със следната команда:
mkdir / mongo-метаданни
За да отразим нашата нова конфигурация на набор от репликации
nano / etc / mongodb.conf dbpath = / mongo-метаданни порт = 27017 replSet = rs0 вилка = вярно
Запишете и затворете файла. Стартирайте члена на репликация, като издадете следната команда:
mongod --config / etc / mongodb.conf
Тези стъпки трябва да се повторят за всеки член от набора от реплики.
Стартирайте набора за репликация
Сега, когато сте конфигурирали всеки член от набора за репликация и сте стартирали процеса mongod на всяка машина, можете да започнете репликация и да добавите всеки член.
В един от вашите членове напишете:
монго
Това ще ви даде MongoDB подкана за текущия член.
Стартирайте настройката на репликацията, като въведете:
rs.initiate ()
Това ще стартира набора за репликация и ще добави сървъра, към който в момента сте свързани, като първи член на набора. Това може да се види, като напишете:
rs.conf () {"_id": "rs0" "версия": 1, "членове": [{"_id": 0, "host" "mongo0.example.com: 27017"}]}
Сега можете да добавите възлите към набора реплики, като посочите името на хоста, което сте им дали във файла / etc / hosts:
rs.add ("mongo1.example.com") {"Добре": 1}
Направете това за всеки от останалите ви репликационни членове. Вашият набор от репликации сега трябва да работи и да работи.Хареса ли ви и помогнахте на този урок?Можете да възнаградите автора, като натиснете този бутон, за да му дадете положителна точка