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

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

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

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

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 Инициализация репозитория dnf

Операционные системы CentOS 8 и Red Hat 8 по умолчанию используют новое поколение менеджера пакетов dnf. Выполните следующие шаги от имени пользователя root или с правами root.

# dnf -y --disablerepo '*' --enablerepo=extras swap centos-linux-repos centos-stream-repos --allowerasing && \
# dnf -y distro-sync && \
# dnf -y install epel-release && \
# dnf -y install 'dnf-command(config-manager)' && \
# dnf config-manager --set-enabled powertools && \
# dnf config-manager --set-enabled epel && \
# dnf -y update

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

Установите необходимые зависимости от имени пользователя root или с правами root.

# dnf install -y libicu python3-devel python3-pip openssl-devel openssh-server net-tools

2.3 Замена репозиториев CentOS 8 и Red Hat 8

Выполните замену репозиториев CentOS 8 и Red Hat 8 от имени пользователя root или с правами root.

# dnf -y --disablerepo '*' --enablerepo=extras swap centos-repos centos-stream-repos

2.4 Копирование RPM-пакетов с локального устройства на сервер

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

~ scp <本地文件路径> <用户名>@<服务器 IP 地址>:<服务器文件路径>

2.5 Обновление пакетов дистрибутива Linux

Обновите установленный дистрибутив Linux до последней доступной версии. Команда distro-sync отличается от команды upgrade. Upgrade — это обычная команда для обновления операционной системы, тогда как distro-sync обновляет все пакеты Linux, не соответствующие вашей версии, до существующей. Выполните следующие шаги от имени пользователя root или с правами root.

# dnf -y distro-sync

2.6 Активация и обновление репозиториев EPEL и PowerTools

Репозиторий EPEL (Extra Packages for Enterprise Linux) предоставляет дополнительные пакеты, которые не входят в стандартные репозитории Red Hat и CentOS. Репозиторий PowerTools служит контейнером для библиотек и инструментов разработки. Он доступен в операционных системах RHEL/CentOS, но по умолчанию отключен. Пакет EPEL зависит от пакета PowerTools. Если репозиторий EPEL активирован, PowerTools должен быть установлен в системе.
Выполните следующие шаги от имени пользователя root или с правами root.

# dnf -y install epel-release && \
# dnf config-manager --set-enabled powertools && \
# dnf config-manager --set-enabled epel && \
# dnf -y update

2.7 Установка некоторых необходимых программных пакетов

Установите необходимые пакеты от имени пользователя root или с правами root.

# dnf install -y libicu python3-devel python3-pip openssl-devel

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

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

# 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

Остановите службу sssd:

# systemctl stop sssd
# systemctl stop sssd-kcm.socket

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

# hostnamectl set-hostname mdw

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

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

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

192.168.100.10 mdw
192.168.100.11 sdw1
192.168.100.12 sdw2

3 Установка RPM-пакета MatrixDB

Установите RPM-пакет MatrixDB от имени пользователя root или с правами root.

# dnf install -y matrixdb-4.8.0.enterprise-1.el7.x86_64.rpm

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

После успешной установки процессы supervisor и MXUI будут автоматически запущены. Эти фоновые процессы обеспечивают графический интерфейс и сервисы управления процессами.
Если требуется настроить порты, вручную создайте файл /etc/matrixdb/defaults.conf для конфигурации после установки RPM-пакета. Эта операция выполняется только на мастер-узле. Пример:

# vim /etc/matrixdb/defaults.conf

Добавьте следующее содержимое и при необходимости измените номера портов:

MasterPortBase = 5438
StandbyPortBase = 5439
PrimaryPortBase = 6500
MirrorPortBase = 7500

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

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

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

http://<IP>:8240/

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

На второй странице выберите «Развертывание на нескольких узлах» и нажмите «Далее».
![](https://img.ymatrix.cn/ymatrix_home/Multi-node deployment 2_1679456210.png)


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

Первый шаг — добавление узлов. Нажмите кнопку «Добавить узел».
![](https://img.ymatrix.cn/ymatrix_home/Multi-node deployment 3_1679456256.png)

Введите IP-адреса, имена хостов или полные доменные имена sdw1 и sdw2 в текстовое поле, нажмите «OK», затем «Далее».
![](https://img.ymatrix.cn/ymatrix_home/Multi-node deployment 4_1679456230.png)


Второй шаг — настройка параметров кластера. Параметр «Зеркальное отображение данных» определяет, содержит ли узел данных резервные копии. Рекомендуется включить его в производственной среде для обеспечения высокой доступности кластера. Система автоматически предлагает максимальное дисковое пространство и количество сегментов, соответствующих ресурсам системы, которые можно скорректировать в зависимости от конкретного сценария использования. Структуру кластера можно просмотреть на схеме. Подтвердив настройки, нажмите «Далее».
![](https://img.ymatrix.cn/ymatrix_home/Multi-node deployment 7_1679456383.png)


Третий шаг — настройка путей хранения.
![](https://img.ymatrix.cn/ymatrix_home/Multi-node deployment 8_1679456418.png)


Четвёртый шаг — выполнение развертывания. На этом этапе будут перечислены параметры конфигурации из предыдущих действий. После проверки корректности нажмите «Выполнить развертывание».
![](https://img.ymatrix.cn/ymatrix_home/Multi-node deployment 10_1679466593.png)

Система автоматически развернёт кластер и покажет подробные шаги и ход выполнения. После успешного завершения всех шагов развертывание будет завершено.
![](https://img.ymatrix.cn/ymatrix_home/Multi-node deployment 9_1679456463.png)

Развертывание завершено.
![](https://img.ymatrix.cn/ymatrix_home/Multi-node deployment 11_1679466566.png)

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

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

# host all all 0.0.0.0/0 md5

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

# gpstop -u

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

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