![10 найкращих програм для доставки їжі для Android в 2020 році](/f/f64f389256a715ac60dcb252b11e2a6e.jpg?width=100&height=100)
Кластер Редіс є вбудованим Редіс функція, яка підтримує автоматичне відтворення, реплікацію та високу доступність, яка раніше була реалізована за допомогою Стражі. Він розроблений для двох основних цілей: одна полягає в тому, щоб автоматично розділити ваш набір даних на декілька екземплярів, а по -друге, щоб надати певну ступінь доступності під час розділів для продовження операцій, коли деякі екземпляри (особливо майстри) виходять з ладу або не можуть спілкуватися з більшістю вузлів у кластер.
Однак кластер припиняє працювати у разі великих збоїв (наприклад, коли більшість основних екземплярів недоступні). Крім того, якщо ведучий і підлеглий виходять з ладу одночасно, кластер не може продовжувати нормальні операції (хоча Вихідний шлях-додати більше вузлів або створити асиметрію в кластері, щоб автоматично змінити кластер макет).
Відповідно з Редіс кластерна документація,мінімальний кластер”, Яка працює належним чином, повинна містити принаймні 3 майстер -вузли. Але найбільш підходяща установка для високої доступності повинна мати принаймні 6 вузлів з трьома ведучими та трьома підлеглими, кожен з яких має підлеглих.
Важливо: Кластер Redis також має деякі обмеження, відсутність підтримки NATted середовища, а також ті, де IP -адреси або порти TCP переставляються, наприклад, під Докер. Крім того, не кожна клієнтська бібліотека підтримує її.
У цій статті показано, як налаштувати a Кластер Редіс (з Кластерний режим вимкнено) в CentOS 8. Він включає в себе, як встановити Redis, налаштувати вузли кластера, створити кластер і перевірити відмову кластера.
Примітка: У цьому посібнику ми будемо використовувати свіжі/порожні екземпляри Redis для запуску кластерного режиму. Режим кластера не працюватиме з деякими конфігураціями, зробленими в перших двох наших посібниках Серія Redis, особливо це не працює, коли використовується репліка параметра.
Redis Master1: 10.42.0.247. Redis Master2: 10.42.0.197. Redis Master3: 10.42.0.132 Redis Slave1: 10.42.0.200. Redis Slave2: 10.42.0.21. Redis Slave3: 10.42.0.34.
Наше налаштування містить 3 майстер-вузли для читання/запису та 3 вузли реплік лише для читання, кожен з яких має одну репліку, тому три фрагменти містять усі дані кластера в кожному вузлі. Додаток API або CLI клієнт може писати лише на майстер -вузли, але читати з будь -якого вузла кластера.
1. Увійдіть у всі екземпляри через SSH, а потім виконайте таку команду, щоб встановити Редіс модуль за допомогою Менеджер пакунків DNF як показано.
# dnf модуль встановити redis.
2. Далі запустіть Редіс служби, увімкніть її для автоматичного запуску під час завантаження системи та перевірте її стан, щоб переконатися, що вона запущена (перевірте службу у всіх 6 екземплярах):
# systemctl start redis. # systemctl увімкнути redis. # systemctl статус redis.
3. У цьому розділі описано, як налаштувати вузли кластера Redis. Не забудьте виконати конфігурації тут на всіх вузлах.
Використовувати /etc/redis.conf конфігураційний файл для налаштування Редіс сервер. Рекомендовано створити резервну копію вихідного файлу перед його редагуванням за допомогою файлу текстовий редактор командного рядка на ваш вибір.
# cp /etc/redis.conf /etc/redis.conf.orig. # vi /etc/redis.conf.
4. Далі знайдіть наступні параметри конфігурації та відредагуйте їх значення, як показано. прив'язувати параметр встановлює інтерфейс сервера Redis, який буде прослуховувати, і встановлює його значення для IP -адреси локальної мережі. Видаліть 127.0.0.1 тому що ми зрозуміли, що залишення його там уповільнює процес створення кластера, особливо стадію приєднання до кластера.
прив'язати 10.42.0.247.
Потім встановіть захищений режим до ні
дозволити підключення з інших екземплярів кластера.
захищений режим №
Параметр порту визначає порт, на якому сервер Redis буде прослуховувати з'єднання, за замовчуванням 6379. Це порт даних для спілкування з клієнтами.
порт 6379.
5. Наступний набір параметрів увімкне режим кластера та задасть деякі його корисні функції. з підтримкою кластера параметр, якщо встановлено значення так
, активує режим кластера.
кластер з підтримкою так.
Далі, cluster-config-файл параметр встановлює назву файлу конфігурації кластера вузла (наприклад, nodes-6379.conf). Файл створюється в робочому каталозі (за замовчуванням /var/lib/redis визначається за допомогою реж параметр) і не можна редагувати користувачем.
cluster-config-file nodes-6379.conf.
Наступний корисний варіант кластера cluster-node-timeout, використовується для встановлення максимальної кількості часу в мілісекундах, коли екземпляр може бути недоступним, щоб його можна було розглядати у стані збою. Значення 15000 еквівалентно 15 секунд.
кластер-вузол-тайм-аут 15000.
6. Нам також потрібно включити зберігання Redis на диску. Ми можемо використовувати один із режимів стійкості, тобто Додати лише файл (AOF): він реєструється (у файлі додатково.аф створена в робочому каталозі) кожна операція запису, успішно отримана сервером. Дані будуть відтворюватися під час запуску сервера для відновлення вихідного набору даних.
Щоб увімкнути його, встановіть додатково параметр до так
.
додатково так.
7. Після внесення всіх змін перезапустіть Редіс служби на всіх вузлах, щоб застосувати останні зміни.
# systemctl перезавантажте redis.
8. На цьому етапі кожен вузол кластера тепер має мати Посвідчення особи. Ви можете перевірити це у файлі журналу за адресою /var/log/redis/redis.log.
# cat /var/log/redis/redis.log.
9. Далі відкрийте порт 6397 та 16379 у всіх інстанціях. Пізніше порт використовується для кластерної шини (a від вузла до вузла канал зв'язку за допомогою двійкового протоколу). Це основна вимога до TCP -з'єднань кластера Redis.
# firewall-cmd --zone = public --permanent --add-port = 6379/tcp # firewall-cmd --zone = public --permanent --add-port = 16379/tcp # firewall-cmd --reload.
10. Щоб створити кластер, використовуйте командний рядок redis-cli клієнта наступним чином. -створення кластерів
дозволяє створювати кластери та -кластер-репліки 1
означає створити одну репліку на майстер.
Для нашої установки, яка має 6 вузлів, у нас буде 3 ведучих і 3 підлеглих.
Зауважте, що будуть розглянуті перші 6 вузлів майстри(М)
а наступні три будуть розглянуті раби(S)
. Перший раб, тобто 10.42.0.200:6379 повторює перший майстер, тобто 10.42.0.247:6379, другий підлеглий копіює другого ведучого в такому порядку.
Наступна команда відформатована таким чином, що результат буде представляти нашу логічну установку вище.
# redis-cli --cluster create 10.42.0.247:6379 10.42.0.197:6379 10.42.0.132:6379 10.42.0.200:6379 10.42.0.21:6379 10.42.0.34:6379 --cluster-replicas 1.
11. Після успішного створення кластера виконайте таку команду на будь -якому хості (вкажіть його IP -адресу за допомогою -ч
прапор), щоб перерахувати всі вузли кластера.
# redis -cli -h 10.42.0.247 -p 6379 вузлів кластера.
Ви повинні мати змогу побачити всі вузли кластера, де ведомі вказують своїх господарів, як показано на наведеному нижче знімку екрана.
Різні поля розташовані в такому порядку: ідентифікатор вузла, IP-адреса: порт, прапори, останній надісланий пінг, останній отриманий понг, епоха конфігурації, стан посилання, слоти (для майстрів).
12. У цьому розділі ми покажемо, як перевірити відмову кластера. Спочатку звернемо увагу на майстрів.
# redis -cli -h 10.42.0.247 -p 6379 вузлів кластера | майстер grep.
Також зверніть увагу на рабів Редіс.
# redis -cli -h 10.42.0.247 -p 6379 вузлів кластера | grep раб.
13. Далі зупинимо службу Redis на одному з майстер -вузлів, наприклад 10.42.0.197 і перевірити всі вузли кластера.
# systemctl зупинити redis. # redis -cli -h 10.42.0.247 -p 6379 вузлів кластера | майстер grep.
З наведеного нижче знімка екрана ви можете побачити, що вузол 10.42.0.197:6367 знаходиться в аварійному стані і його раб 10.42.0.21:6379 отримав статус майстра.
14. Тепер почнемо Редіс обслуговування ще раз на несправному вузлі та перевірити всі майстри кластера.
# systemctl start redis. # redis -cli -h 10.42.0.247 -p 6379 вузлів кластера | майстер grep.
Також перевірте підлеглих кластерів, щоб переконатися, що невдалий майстер тепер є підлеглим.
# redis -cli -h 10.42.0.247 -p 6379 вузлів кластера | grep раб.
15. У цьому останньому розділі пояснюється, як перевірити реплікацію даних кластера. Ми створимо ключ і значення на одному з майстрів, а потім спробуємо прочитати його з усіх вузлів кластера наступним чином. Використовувати -в
перемикач, щоб увімкнути підтримку кластера за допомогою утиліти redis-cli та отримати доступ до даних у режимі кластера.
# redis -cli -c -h 10.42.0.247 -p 6379 назва набору "TecMint.com" # redis -cli -c -h 10.42.0.247 -p 6379 отримати ім'я. # redis -cli -c -h 10.42.0.21 -p 6379 отримати ім'я. # redis -cli -c -h 10.42.0.132 -p 6379 отримати ім'я. # redis -cli -c -h 10.42.0.200 -p 6379 отримати ім'я. # redis -cli -c -h 10.42.0.197 -p 6379 отримати ім'я. # redis -cli -c -h 10.42.0.34 -p 6379 отримати ім'я.
Суть - це Кластер Редіс є кращим способом отримання автоматичного розподілу, реплікації та високої доступності. У решті файлів є багато інших добре задокументованих параметрів конфігурації /etc/redis.conf Додаткову інформацію можна знайти в офіційній документації: Підручник із кластера Redis та специфікація кластера Redis.
Це підводить нас до кінця трисерійна серія навчальних посібників Redis. Форму зворотного зв'язку нижче можна використовувати для розміщення запитань або коментарів.