Быстрая установка

В этом документе описаны шаги по быстрому развертыванию YMatrix на одном узле.

Примечание!
Для развертывания кластера с несколькими узлами обратитесь к разделу Стандартное развертывание кластера.

Примечание!
Быстрая установка поддерживается только на операционных системах, таких как CentOS 7 и RedHat 7.
Инструкции по развертыванию на Ubuntu 20.04 доступны здесь;
Инструкции по развертыванию на CentOS 8 или RedHat 8 доступны здесь;
Если ресурсы системы ограничены, а отказоустойчивость необходима, рассмотрите возможность использования асимметричного развертывания для быстрого создания кластера.

Примечание!
Видеоматериалы по установке доступны по ссылке Установка и развертывание YMatrix. Если хост не имеет доступа к Интернету, воспользуйтесь инструкцией по развертыванию кластера в автономном режиме.

Перед установкой обязательно скачайте установщик YMatrix.


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

Установка сервера состоит из двух этапов: подготовки и развертывания базы данных. Также рассматриваются дополнительные настройки после установки и базовые команды управления базой данных.

1.1 Подготовка

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

Скопируйте RPM-пакет с локального компьютера на удалённый сервер:

~ scp <local path> <username>@<server IP>:<server path>

1.1.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

1.1.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

Отредактируйте файл /etc/hosts. При первом использовании vim установите его с помощью команды sudo yum install vim:

$ sudo vim /etc/hosts

Свяжите имя хоста с адресом сетевого интерфейса. После редактирования нажмите Esc, затем введите :wq, чтобы сохранить изменения и выйти:

192.168.100.10 mdw

Примечание!
Не дублируйте запись <IP address> <hostname> в файле /etc/hosts. Это может привести к ошибке «host network connectivity test failed» при инициализации графического интерфейса.

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

Установите RPM-пакет базы данных с помощью команды yum от имени root или с правами sudo. Зависимости системы будут установлены автоматически. По умолчанию YMatrix устанавливается в каталог /opt/ymatrix/matrixdb6:

$ sudo yum install matrixdb6-6.0.0+enterprise_6.0.0-1.el7.x86_64.rpm

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

После успешной установки автоматически запускаются процессы supervisord и MXUI. Эти фоновые службы обеспечивают работу графического интерфейса и управление процессами.
Если требуется настроить порты, измените файл /etc/matrixdb6/defaults.conf после установки RPM. Эта настройка требуется только на мастер-узле (Master).

$ vim /etc/matrixdb6/defaults.conf

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

1.3.1 Графическое развертывание

YMatrix предоставляет удобный способ развертывания через графический интерфейс или командную строку. Рекомендуется использовать графический метод. Для удалённого развертывания через GUI необходимо обеспечить доступ к портам 8240 и 4617 на сервере. Веб-интерфейс предоставляется процессом MXUI.

Откройте мастер установки в браузере по следующему URL-адресу, заменив <IP> на IP-адрес мастер-сервера:

http://<IP>:8240/

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

На второй странице автоматически выбирается опция «Развертывание на одном узле». Нажмите Далее, чтобы продолжить:


Выполните следующие три шага для развертывания на одном узле.

Шаг 1: Укажите количество экземпляров, пути хранения данных и пароль администратора. Затем нажмите «Развернуть сейчас».


Шаг 2: Начало развертывания. Ход выполнения отображается в реальном времени.


Шаг 3: Завершение. После успешного развертывания нажмите «Готово».

1.3.2 Развертывание через командную строку

YMatrix также поддерживает однократное развертывание через командную строку. Выполните следующие команды. После завершения база данных автоматически запустится и будет готова к использованию:

source /opt/ymatrix/matrixdb6/greenplum_path.sh
sudo env "PATH=$PATH" mxsetup

После развертывания автоматически запускается процесс Cylinder. Этот процесс выполняет запланированные задачи с заданной периодичностью.

1.4 Настройка после установки (необязательно)

Подключитесь по SSH к серверу и переключитесь на пользователя-администратора YMatrix mxadmin:

$ sudo su - mxadmin

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

$ host  all       all   0.0.0.0/0  md5

Вы можете ограничить диапазон IP-адресов или имена баз данных в зависимости от требований безопасности.

Для упрощения удалённого доступа и проверки корректности инициализации установите пароль для пользователя mxadmin (замените mxpass на желаемый пароль):

$ psql -c "alter role mxadmin with password 'mxpass'" -h localhost -p 5432 mxdb

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

$ mxstop -u

1.5 Управление базой данных (необязательно)

Подключитесь по SSH к серверу и переключитесь на пользователя-администратора YMatrix mxadmin:

$ sudo su - mxadmin

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

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

2 Минимальные требования к установке

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

Минимальные требования
Двухъядерный процессор 1 ГГц
2 ГБ ОЗУ
2 ГБ свободного места на диске
RAID 1 (зеркалирование)

Если установка производится на устройство с объёмом ОЗУ менее 2 ГБ, перед установкой создайте swap-пространство размером не менее 2 ГБ.

Создайте и активируйте файл подкачки размером 2 ГБ:

sudo dd if=/dev/zero of=/opt/swapfile count=2048 bs=1MiB
sudo chmod 600 /opt/swapfile

sudo mkswap /opt/swapfile
sudo swapon /opt/swapfile

swapon -s
free -m

Добавьте следующую строку в файл /etc/fstab, чтобы swap сохранялся после перезагрузки:

/opt/swapfile   swap    swap    sw  0   0

3 Установка клиента

YMatrix совместим с протоколом PostgreSQL 12. Многие коммерческие и открытые клиентские инструменты PostgreSQL 12 (например, DBeaver, pgAdmin и т.д.) могут использоваться с YMatrix. Вы можете легко подключаться удалённо с персональных устройств, таких как ноутбуки. Подробнее см. в разделе Подключение клиента.

Выбор PostgreSQL

Командную утилиту YMatrix psql также можно использовать удалённо с систем Windows или Mac. Пользователи Mac могут установить её напрямую с помощью Homebrew:

$ brew install libpq
$ brew link --force libpq ail

Пользователи Windows могут скачать и установить её по ссылке.

После установки psql используйте параметр -h для указания хоста и -p для указания порта при подключении к серверу YMatrix. Распространённые параметры psql включают:

$ psql -h [hostname or IP] -p [port] -U [username] -W -d [database name]

Пример:

$ psql -h 127.0.0.1 -p 5432 -U mxadmin -W -d mxdb

Приятного использования!