Деплой будем производить в Яндекс Облаке на обычные виртуальные машины.

Сайзинг кластера следующий:

VMPlatformvCPURAM, GbDisk Vol, GbCommentinternal ip
mdwIntel Ice Lake832100 SSDmaster node10.128.0.4
rdwIntel Ice Lake832100 SSDreplica10.128.0.5
sdw1Intel Ice Lake16641000 HDDsegment host10.128.0.6
sdw2Intel Ice Lake16641000 HDDsegment host10.128.0.7
sdw3Intel Ice Lake16641000 HDDsegment host10.128.0.8
sdw4Intel Ice Lake16641000 HDDsegment host10.128.0.9

Базовая проверка VM

ШагКомандаКомментарий
1free -hПроверка объема RAM
2df -hПроверка доступного места на диске
3lscpuКоличество CPU
4cat /etc/system-releaseВерсия операционной системы
5uname -aИнформация о ядре
6tail -11 /proc/cpuinfoИнформация о CPU

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

Копируем RPM пакет на машину. Для windows используем утилиту pscp

pscp -i C:\Users\user\.ssh\secret_key.ppk C:\upload\matrixdb5-5.99.0+enterprise~dev-1.el7.x86_64.rpm user@ipaddress:/home/user/

Подключаемся по ssh. Устанавливаем зависимости

sudo sed -i s/mirror.centos.org/vault.centos.org/g /etc/yum.repos.d/*.repo
sudo sed -i s/^#.*baseurl=http/baseurl=http/g /etc/yum.repos.d/*.repo
sudo sed -i s/^mirrorlist=http/#mirrorlist=http/g /etc/yum.repos.d/*.repo
sudo yum update
sudo yum install centos-release-scl
sudo yum install rh-python36
scl enable rh-python36 bash

Изменяем конфигурацию ВМ

sudo systemctl stop firewalld.service
sudo systemctl disable firewalld.service
sudo sed s/^SELINUX=.*$/SELINUX=disabled/ -i /etc/selinux/config
sudo setenforce 0

Правим /etc/hosts

sudo vi /etc/hosts

Он должен иметь такое содержание:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

10.128.0.4      mdw
10.128.0.5      rdw
10.128.0.6      sdw1
10.128.0.7      sdw2
10.128.0.8      sdw3
10.128.0.9      sdw4

Далее создадим образ диска в Яндекс Облаке, чтобы не повторять эти действия. И последующие машины развернем из этого образа.

Следующие действия необходимо повторить на каждой машине

sudo hostnamectl set-hostname mdw #rdw sdw1 sdw2 sdw3 sdw4 для других машин
sudo yum install matrixdb5-5.99.0+enterprise~dev-1.el7.x86_64.rpm

Сконфигурировать порты после установки можно на мастере, внеся изменения в файл /etc/matrixdb5/defaults.conf

Деплой базы данных

Используем MXGUI, доступ к которому можно получить на порту 8240 http://external_ip:8240

Пароль для доступа к MXGUI можно получить командой

sudo more /etc/matrixdb5/auth.conf

Выбираем multi-node deployment

Нажимаем add

Вводим:

Конфигурируем кластер следующим образом

Superuser password поставим 1 для удобства

Выбираем галочку

После инсталляции

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

host  all       all   0.0.0.0/0  md5

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

su - mxadmin

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