Развертывание кластера на CentOS 7 и Red Hat Enterprise Linux 7

Примечание!
YMatrix использует векторизованное выполнение для повышения производительности запросов. Установка завершится с ошибкой, если хост (физическая или виртуальная машина) не поддерживает набор инструкций AVX2.
Если вы выполняете развертывание на виртуальной машине, убедитесь, что физический хост поддерживает AVX2 и что AVX2 включен в конфигурации виртуальной машины.

  • Требования к операционной системе и платформе
Операционная система Поддерживаемая архитектура CPU
CentOS 7
Red Hat Enterprise Linux 7
x86_64
  • Пример конфигурации кластера

В этом документе используется трехузловой кластер в качестве примера:

  • Узел мастера: mdw
  • Два сегментных узла: sdw1 и sdw2

Установка сервера

Процесс установки сервера состоит из шести этапов: проверка базовой системной информации, подготовка, установка RPM-пакета базы данных, установка зависимостей Python, развертывание базы данных и постустановочная настройка.

1. Проверка базовой информации о сервере

Перед началом установки проверьте основную системную информацию. Это хорошая практика, поскольку понимание характеристик сервера помогает эффективно планировать развертывание кластера.

Шаг Команда Назначение
1 free -h Просмотр использования памяти
2 df -h Просмотр объема дискового пространства
3 lscpu Просмотр количества ядер процессора
4 cat /etc/system-release Просмотр версии ОС
5 uname -a Отображение всей информации о ядре в следующем порядке: имя ядра; имя хоста; релиз ядра; версия ядра; аппаратная архитектура; тип процессора (непереносимый); аппаратная платформа (непереносимая); имя ОС. Поля -p и -i опускаются, если недоступны.
6 tail -11 /proc/cpuinfo Просмотр подробных сведений о процессоре

2. Подготовка к установке

2.1 Копирование RPM-пакета

Скопируйте RPM-пакет на все узлы кластера.

~ scp <local_path> <username>@<server_ip>:<server_path>

2.2 Установка зависимостей

Примечание!
Выполняйте следующие шаги от имени пользователя root или с привилегиями sudo на всех узлах.

YMatrix требует Python 3.6. Установите его и задайте как версию Python по умолчанию:

# yum install centos-release-scl
# yum install rh-python36
# scl enable rh-python36 bash

2.3 Изменение системных параметров

Отключите брандмауэр:

# systemctl stop firewalld.service
# systemctl disable firewalld.service

Отключите SELinux, отредактировав файл /etc/selinux/config и установив значение SELINUX=disabled:

# sed s/^SELINUX=.*$/SELINUX=disabled/ -i /etc/selinux/config
# setenforce 0

Убедитесь, что каждый узел имеет постоянное имя хоста. Если оно еще не задано, используйте следующую команду. В данном примере мастер-узел назван mdw:

# hostnamectl set-hostname mdw

Также задайте имена хостов для двух сегментных узлов (sdw1, sdw2):

# hostnamectl set-hostname sdw1
# hostnamectl set-hostname sdw2

Убедитесь, что все узлы могут разрешать друг друга по имени хоста и IP-адресу. Добавьте записи в файл /etc/hosts, чтобы сопоставить имена хостов с адресами сетевых интерфейсов локальной сети:

# vim /etc/hosts

Например, на всех трех узлах должны быть следующие записи в файле /etc/hosts:

192.168.100.10 mdw
192.168.100.11 sdw1
192.168.100.12 sdw2

3. Установка RPM-пакета базы данных

Примечание!
Вы должны устанавливать RPM-пакет базы данных от имени пользователя root или с правами sudo на всех узлах. Системные зависимости будут установлены автоматически.

По умолчанию пакет устанавливается в каталог /opt/matrixdb6.

Выполните следующую команду:

# yum install matrixdb6_6.2.0+enterprise-1.el7.x86_64.rpm

После успешной установки процессы supervisord и MXUI запускаются автоматически. Эти фоновые службы обеспечивают веб-интерфейс управления и контроль процессов.

Если необходимо настроить порты служб, измените конфигурационный файл после установки RPM. Этот шаг требуется только на мастер-узле:

# vim /etc/matrixdb6/defaults.conf


4. Развертывание базы данных

YMatrix предоставляет графический инструмент развертывания. Удаленный веб-интерфейс доступен через порты 8240 и 4617. После установки эти порты по умолчанию открыты на всех узлах. Процесс MXUI обеспечивает веб-интерфейс.

Примечание!
Если графический интерфейс недоступен, обратитесь к разделу Установка из командной строки.

Откройте браузер и перейдите по URL-адресу мастера установки. Сервер, IP-адрес которого вы укажете, станет мастер-узлом вашего кластера (в данном примере — mdw):

http://<IP>:8240/

На первой странице мастера введите пароль суперпользователя. Вы можете просмотреть пароль по умолчанию с помощью следующей команды:

На второй странице выберите Multi-Node Deployment, затем нажмите Next.


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

Шаг 1: Добавление узлов
Нажмите кнопку "Add".

Введите IP-адреса, имена хостов или полные доменные имена sdw1 и sdw2, затем нажмите Comfirm и Next.


Шаг 2: Настройка параметров кластера
Включите Data Mirroring, чтобы создать резервные сегменты. Рекомендуется включать эту опцию в рабочих средах для обеспечения высокой доступности. Система автоматически предлагает использовать самый большой доступный диск и соответствующее количество сегментов на основе ресурсов системы. Настройте параметры в соответствии с вашими требованиями. Конфигурация топологии кластера отображается визуально. Нажмите Next после подтверждения.


Шаг 3: Задание путей хранения данных и etcd
Выберите путь хранения для etcd на каждом сервере. Кластер etcd будет создан на нечетном числе серверов для обеспечения согласованности выбора лидера и предотвращения ничьих.

Если вы включите опцию Use Data Disk for etcd, имейте в виду связанные с этим риски.


Шаг 4: Выполнение развертывания
Проверьте сводку конфигурации. Нажмите Deploy, чтобы начать.

Система автоматически развернет кластер и покажет подробный ход выполнения. Когда все шаги успешно завершатся, развертывание будет закончено.

Развертывание завершено.

5. Постустановочная настройка

По умолчанию YMatrix разрешает удаленные подключения. Если во время установки вы не выбрали Allow Remote Access to Database, вручную добавьте строку, аналогичную следующей, в файл pg_hba.conf, чтобы разрешить всем пользователям с любого IP подключаться с аутентификацией по паролю:

host  all       all   0.0.0.0/0  md5

После внесения изменений переключитесь на пользователя mxadmin и перезагрузите конфигурацию:

# su - mxadmin
$ mxstop -u    

Используйте следующие команды для запуска, остановки, перезапуска или проверки состояния кластера YMatrix:

$ mxstart -a
$ mxstop -af
$ mxstop -arf 
$ mxstate -s
Команда Назначение
mxstop -a Остановить кластер. (Остановка произойдет только после завершения активных сеансов.)
mxstop -af Принудительно немедленно остановить кластер.
mxstop -arf Перезапустить кластер. Дожидается завершения текущих SQL-запросов. (Остановка произойдет только после завершения активных сеансов.)
mxstate -s Проверить состояние кластера