ELMA365 On-premises > ELMA365 Enterprise > Высокодоступный кластер ELMA365 / Установка Redis

Установка Redis

Несколько серверов соединяются в кластер Master-Replicas. Один сервер становится главным и отправляет свои данные на остальные сервера. Более подробно смотрите в официальной документации: https://redis.io/topics/sentinel.

Ознакомьтесь с инструкциями по установке и настройке Redis: https://redis.io/download и Sentinel: https://redis.io/topics/sentinel.

Исходные данные

начало внимание

Минимальное количество серверов для организации кластера 3.

конец внимание

В этом примере используется 3 узла со следующими hostname и IP-адресами:

  • redis-server1, 192.168.1.21
  • redis-server2, 192.168.1.22
  • redis-server3, 192.168.1.23

Шаг 1: Установка Redis

  1. Добавьте репозитории Redis:

sudo add-apt-repository ppa:redislabs/redis

  1. Установите redis и его зависимости:

sudo apt-get -y install redis redis-sentinel net-tools

Шаг 2: Настройка Redis

Для настройки необходимо отредактировать файл /etc/redis/redis.conf на каждом из серверов:

sudo nano /etc/redis/redis.conf

  1. Сделайте сервера доступные для всех ip-адресов данного сервера:

bind 0.0.0.0 

В данном случае это делает доступным сервис Redis со всех внешних адресов.

  1. Укажите пароль для доступа:

requirepass SecretPassword

  1. Указать пароль к Мастеру:

masterauth SecretPassword

  1. Для настройки Слэйва дополнительно необходимо указать адрес и порт Мастера:

replicaof redis-server1.your_domain 6379

  1. После этого перезапустите все сервера (сначала Мастер, затем Слэйвы):

sudo systemctl restart redis-server
sudo systemctl enable redis-server

  1. Проверьте статус репликации:

sudo redis-cli -a SecretPassword info replication

Шаг 3: Настройка Sentinel

Для настройки необходимо отредактировать файл /etc/redis/sentinel.conf на каждом из серверов:

  1. Сделайте сервера доступные для всех ip-адресов данного сервера:

bind 0.0.0.0 

В данном случае это делает доступным сервис Sentinel со всех внешних адресов.

  1. Укажите адрес и порт Мастера, а также значение для достижения кворума:

sentinel monitor mymaster 192.168.1.21 6379 2

  1. Укажите пароль для доступа к Мастеру:

sentinel auth-pass mymaster SecretPassword

  1. Укажите время, после которого мастер будет считаться упавшим:

sentinel down-after-milliseconds mymaster 3000

  1. Укажите время ожидания после смены ролей слейва на мастер в случае, если мастер вышел из строя:

sentinel failover-timeout mymaster 6000

  1. После этого перезапустите все сервера:

sudo systemctl restart redis-sentinel
sudo systemctl enable redis-sentinel

  1. Проверьте статус Sentinel и состояние кворума:

sudo redis-cli -p 26379 info sentinel
sudo redis-cli -p 26379 sentinel ckquorum mymaster

Шаг 4: Подключение к ELMA365

Строка для подключения к кластеру Redis:

redis://:SecretPassword@redis-server1.your_domain:26379,redis-server2.your_domain:26379,redis-server3.your_domain:26379/0?masterName=mymaster

Нашли опечатку? Выделите текст, нажмите ctrl + enter и оповестите нас