Развертывание кластеров под операционными системами, такими как CentOS 7, Red Hat 7

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

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

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

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

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

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

Шаг Команды Назначение
1 free -h Просмотр информации об оперативной памяти операционной системы
2 df -h Просмотр дискового пространства
3 lscpu Просмотр количества ядер CPU
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 address>: <server path>

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

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

YMatrix требует Python 3.6. Пожалуйста, используйте следующую команду для установки и настройки Python 3.6 в качестве версии по умолчанию:

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

2.3 Изменение конфигурации машины

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

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

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

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

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

# sudo hostnamectl set-hostname mdw

Два дочерних узла также должны иметь соответствующие имена хостов, например sdw1 и sdw2:

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

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

# sudo 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/ymatrix/matrixdb5:

# sudo yum install matrixdb5_5.0.0+enterprise-1.el7.x86_64.rpm

Примечания!
Во время фактической установки замените имя файла на имя последнего загруженного RPM-пакета.

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

Если требуется настроить порты, измените файл /etc/matrixdb5/defaults.conf после установки RPM-пакета. Эта операция выполняется только на мастер-узле.

# vim /etc/matrixdb5/defaults.conf


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

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

Примечания!
Если вы не можете развернуть YMatrix с помощью графического интерфейса, обратитесь к разделу Развертывание из командной строки.

Используйте браузер для доступа к URL-адресу мастера установки, указанному ниже — это IP-адрес сервера mdw:

http://<IP>:8240/

На первой странице мастера установки необходимо указать пароль суперпользователя, который можно просмотреть с помощью команды sudo more /etc/matrixdb5/auth.conf.

На второй странице выберите «Развертывание на нескольких узлах» и нажмите «Далее».


Далее начнется четырехэтапный процесс развертывания на нескольких машинах.

Первый шаг — добавление узла. Нажмите кнопку «Добавить».

Введите IP-адреса, имена хостов или полные доменные имена (FQDN) sdw1 и sdw2 в текстовое поле, нажмите «Подтвердить», затем «Далее».


Второй шаг — настройка параметров кластера. «Зеркалирование данных» определяет, содержит ли узел данных кластера резервные копии. Рекомендуется включить эту функцию в рабочей среде для обеспечения высокой доступности кластера. Система автоматически предлагает максимальное дисковое пространство и количество сегментов, соответствующих ресурсам системы, которые можно скорректировать в зависимости от конкретного сценария использования. Структура сконфигурированного кластера отображается на схеме. После подтверждения нажмите «Далее».


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

Если вы установите флажок в правом верхнем углу для развертывания etcd на диске данных, вам следует ознакомиться с известными рисками.


Шаг 4: Выполнение развертывания. На этом этапе будут перечислены параметры конфигурации из предыдущих действий. После проверки корректности нажмите «Развернуть».

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

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

5 Настройка после установки

По умолчанию установленная YMatrix поддерживает удаленные подключения. Если во время установки не был установлен флажок «Разрешить удаленное подключение к базе данных», отредактируйте вручную файл $MASTER_DATA_DIRECTORY/pg_hba.conf и добавьте строку следующего вида, разрешающую пользователям с любого IP-адреса подключаться ко всем базам данных через аутентификацию по паролю. Диапазон IP-адресов или имена баз данных можно ограничить в соответствии с реальными потребностями, чтобы снизить риски безопасности:

host  all       all   0.0.0.0/0  md5

После внесения этих изменений выполните следующую команду для перезагрузки конфигурационного файла pg_hba.conf:

$ mxstop -u    

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

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