Деплой будем производить в Яндекс Облаке на обычные виртуальные машины.
Сайзинг кластера следующий:
| VM | Platform | vCPU | RAM, Gb | Disk Vol, Gb | Comment | internal ip |
|---|---|---|---|---|---|---|
| mdw | Intel Ice Lake | 8 | 32 | 100 SSD | master node | 10.128.0.4 |
| rdw | Intel Ice Lake | 8 | 32 | 100 SSD | replica | 10.128.0.5 |
| sdw1 | Intel Ice Lake | 16 | 64 | 1000 HDD | segment host | 10.128.0.6 |
| sdw2 | Intel Ice Lake | 16 | 64 | 1000 HDD | segment host | 10.128.0.7 |
| sdw3 | Intel Ice Lake | 16 | 64 | 1000 HDD | segment host | 10.128.0.8 |
| sdw4 | Intel Ice Lake | 16 | 64 | 1000 HDD | segment host | 10.128.0.9 |
Базовая проверка VM
| Шаг | Команда | Комментарий |
|---|---|---|
| 1 | free -h | Проверка объема RAM |
| 2 | df -h | Проверка доступного места на диске |
| 3 | lscpu | Количество CPU |
| 4 | cat /etc/system-release | Версия операционной системы |
| 5 | uname -a | Информация о ядре |
| 6 | tail -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 | Статус кластера |