Введіть ім'я домену:
.ua .com.ua .in.ua .org.ua
.ru .com .net .org
Показати всі домени

Встановлення кластера Redis

Відповіді на запитання від компанії "Український хостинг".

Встановлення та налаштування кластера Redis на Ubuntu

Redis є високопродуктивним розподіленим сховищем даних типу ключ-значення з відкритим вихідним кодом. Redis дозволяє зберігати дані на диск, має функції реплікації, зберігання масивів даних, транзакції і пакетної обробки даних.

Для виконання інструкції потрібні два сервери з ОС CentOS 7.

Також перед виконанням інструкції рекомендується на обох серверах створити не root користувача з доступом до sudo.

В інструкції використовується текстовий редактор nano, для якого потрібно виконати команду:

 yum install nano
  1. Процес встановлення складається з наступних кроків:

    Оновлюємо систему до останнього стабільного стану за допомогою команди:

     sudo yum install epel-release -y

    Натисніть клавішу Enter. Якщо запитує пароль, введіть його

    та команди:
     sudo yum update -y

    Натиснути клавішу Enter. Оновлення може тривати кілька хвилин. Якщо все зроблено правильно, результат буде як на зображенні.

  2. Встановлюємо Redis:

     sudo yum install redis -y

    Натискаємо Enter. Якщо запитує пароль, введіть його.

  3. Запускаємо сервіс Redis:

     sudo systemctl start redis.service

    Натискаємо Enter.

    Перевіряємо стан сховища:

     sudo systemctl status redis.service

    Натискаємо Enter.

  4. Перевіряємо установку Redis:

     redis-cli ping

    Натискаємо Enter. Правильний результат на зображенні.

  5. Також перевірити установку можна за допомогою команди:

     redis-benchmark -q -n 1000 -c 10 -P 5

    Натискаємо Enter.

  6. Після цього переходимо на сервер slave і повторюємо всі перераховані вище дії.

    Далі необхідно відредагувати файли конфігурації Redis на обох серверах. Між налаштуваннями провідного та веденого сервера є деякі відмінності.

    Налаштовуємо сервер master.

    Відкриваємо файл /etc/sysconfig/iptables

     sudo nano /etc/sysconfig/iptables

    Натискаємо Enter. Якщо запитує пароль, введіть його.

    І після рядка:

     -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT

    вставляємо рядок (ip адреса 93.190.42.60 необхідно замінити на ip адресу власного сервера slave):

     -A INPUT -p tcp -m state --state NEW -m tcp -s 93.190.42.60 --dport 6379 -j ACCEPT

    Зберігаємо зміну у файлі, натиснувши клавіші Ctrl+x , потім клавішу y і потім клавішу Enter.

  7. Після цього перезавантажуємо правила для фаєрволу iptables

     sudo service iptables reload

    Натискаємо Enter.

  8. Відкриваємо у текстовому редакторі файл /etc/redis.conf:

     sudo nano /etc/redis.conf

    Натискаємо Enter.

    Встановлюємо нове значення таймера keepalive для TCP, змінивши рядок:

     tcp-keepalive 300

    на рядок:

     tcp-keepalive 60
  9. Відкриваємо доступ до сервера в мережі, змінивши рядок:

     bind 127.0.0.1

    на рядок (ip адреса 93.190.42.52 необхідно замінити на ip адресу власного сервера master):

     bind 127.0.0.1 93.190.42.52
  10. Для збільшення безпеки потрібно розкоментувати рядок (на початку рядка видалити символ #):

     requirepass foobared

    та вказати в ній складний пароль (у прикладі встановлено пароль A9f!7K5w%5Z0j5&O7t1).

     requirepass A9f!7K5w%5Z0j5&O7t1
  11. У випадку, якщо ключі не будуть видалятися з кластера, необхідно розкоментувати рядок:

     maxmemory-policy noeviction
  12. Після цього необхідно настроїти резервне копіювання даних.

    Для цього рядок:

     appendonly no

    необхідно змінити на:

     appendonly yes

    Зберігаємо зміну у файлі, натиснувши клавіші Ctrl+x , потім клавішу y і потім клавішу Enter.

  13. Перезапускаємо сервіс Redis:

     sudo systemctl restart redis.service

    Натисніть клавішу Enter. Якщо запитує пароль, введіть його.

    Тепер потрібно налаштувати сервер slave.

    Відкриваємо /etc/redis.conf у текстовому редакторі:

     sudo nano /etc/redis.conf

    Натискаємо Enter. Якщо запитує пароль, введіть його.

    Деякі параметри будуть збігатися із сервером master.

    Серверу slave також потрібний пароль.

    Розкоментуємо рядок:

     requirepass foobared

    і вказуємо в ній складний пароль (у прикладі встановлено пароль 1t7O&5j0Z5%w5K7!f9A):

     requirepass 1t7O&5j0Z5%w5K7!f9A
  14. Потім розкоментуємо рядок

     slaveof

    і вказуємо в ній ip адресу сервера master та порт (за замовчуванням – порт 6379):

     slaveof 93.190.42.52 6379

    Розкоментуємо рядок:

     masterauth

    і вказуємо в ній пароль сервера master (у прикладі встановлено пароль A9f!7K5w%5Z0j5&O7t1):

     masterauth A9f!7K5w%5Z0j5&O7t1

    Зберігаємо зміну у файлі, натиснувши клавіші Ctrl+x , потім клавішу y і потім клавішу Enter.

  15. Перезапускаємо сервіс:

     sudo systemctl restart redis.service

    Натискаємо Enter. Якщо запитує пароль, введіть його.

    Підключаємося до сервера Redis:

     redis-cli -h 127.0.0.1 -p 6379

    Натискаємо Enter

  16. Авторизуємось за допомогою пароля сервера slave.

     AUTH 1t7O&5j0Z5%w5K7!f9A

    Натиснути клавішу Enter

  17. Тепер сервери master та slave кластера Redis налаштовані.

    Перевіряємо взаємодію серверів Redis.

    На сервері master підключаємося до Redis:

     redis-cli -h 127.0.0.1 -p 6379

    Натискаємо Enter

  18. Авторизуємось за допомогою пароля сервера master.

     AUTH A9f!7K5w%5Z0j5&O7t1

    Натискаємо Enter

  19. Потім виконуємо команду INFO:

     INFO

    Натиснути клавішу Enter

    Ця команда покаже всі дані про master-сервер Redis.

    Розділ #Replication повинен мати приблизно такий вигляд:

    Видно, що значення рядка connected_slaves дорівнює 1, що означає, що ведений сервер взаємодіє з master.

  20. Тепер подивимося розділ #Replication на машині slave. Підключаємося до сервера slave та виконуємо команду INFO натиснути клавішу Enter.

    Бачимо, що сервер slave виконує роль веденого і не має підлеглих до нього серверів.

Див. також:

Будь ласка, виберіть мову сайту за промовчанням: