Примечания!
YMatrix использует технологию векторизации для повышения производительности запросов. Если развертываемый хост (физическая/виртуальная машина) не поддерживает набор инструкций AVX2, развертывание завершится ошибкой.
Если вы выполняете развертывание на виртуальной машине, убедитесь, что физический хост поддерживает набор инструкций AVX2 и что он включен в конфигурации.
| Операционная система | Поддерживаемая архитектура CPU |
|---|---|
| CentOS 7 Red Hat Enterprise Linux 7 |
x86_64 |
В этом документе в качестве примера используется три узла: основной узел — mdw, два узла данных — sdw1 и sdw2 соответственно.
Процесс установки сервера включает 6 шагов: просмотр базовой информации о сервере, подготовку к установке, установку RPM-пакета базы данных, установку зависимых пакетов Python, развертывание базы данных и настройку после установки.
Перед выполнением установки сначала проверьте базовую информацию о сервере. Это хорошая практика, которая поможет вам лучше спланировать и развернуть кластер.
| Шаг | Команды | Назначение |
|---|---|---|
| 1 | free -h | Просмотр информации об оперативной памяти операционной системы |
| 2 | df -h | Просмотр дискового пространства |
| 3 | lscpu | Просмотр количества ядер процессора |
| 4 | cat /etc/system-release | Просмотр версии операционной системы |
| 5 | uname -a | Отображение всей информации о ядре в следующем порядке (если определение типа процессора и аппаратной платформы невозможно, результаты команд -p и -i опускаются): имя ядра; имя хоста в сетевом узле; номер выпуска ядра; версия ядра; имя архитектуры аппаратного обеспечения; тип процессора (непереносимо); аппаратная платформа (непереносимо); имя операционной системы |
| 6 | tail -11 /proc/cpuinfo | Просмотр информации о процессоре |
Скопируйте RPM-пакет локально на все *** узлы удаленного сервера.
~ scp <local path> <username>@<Server IP address>: <server path>
Примечания!
На всех *** узлах выполните следующие действия от имени пользователя root или с правами sudo.
YMatrix требует Python 3.6. Используйте следующую команду для установки и настройки Python 3.6 в качестве версии по умолчанию:
# yum install centos-release-scl
# yum install rh-python36
# scl enable rh-python36 bash
Отключение брандмауэра:
# 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
Убедитесь, что на всех *** узлах заданы постоянные имена хостов. Если они отсутствуют, используйте следующую команду для установки имени хоста. В примере имя хоста установлено как mdw:
# hostnamectl set-hostname mdw
Два дочерних узла также должны иметь соответствующие имена хостов, например sdw1 и sdw2:
# hostnamectl set-hostname sdw1
# hostnamectl set-hostname sdw2
Убедитесь, что все узлы кластера могут взаимно обращаться друг к другу по имени хоста и IP-адресу. Добавьте запись в файл /etc/hosts, сопоставив имя хоста с адресом сетевой карты локальной сети.
# vim /etc/hosts
Например, файл /etc/hosts на всех трех узлах должен содержать следующее:
192.168.100.10 mdw
192.168.100.11 sdw1
192.168.100.12 sdw2
Примечания!
Необходимо установить RPM-пакет базы данных на всех узлах сервера от имени пользователя root или с использованием прав sudo. Системные библиотеки зависимостей будут установлены автоматически.
По умолчанию установка будет выполнена в каталоге /opt/ymatrix/matrixdb5:
# yum install matrixdb5_5.1.0+enterprise-1.el7.x86_64.rpm
После успешной установки процессы supervisor и MXUI будут запущены автоматически. Эти фоновые процессы предоставляют графический интерфейс и службы управления процессами.
Если требуется настроить порты, измените файл /etc/matrixdb5/defaults.conf после установки RPM-пакета. Эта операция выполняется только на мастер-узле.
# vim /etc/matrixdb5/defaults.conf
Здесь по-прежнему используется графическое развертывание, предоставляемое 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: Выполнение развертывания. На этом этапе будут перечислены параметры конфигурации из предыдущих действий. После проверки корректности нажмите «Развернуть».

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

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

По умолчанию установленная 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
Запуск, остановка, перезапуск и просмотр состояния YMatrix могут быть выполнены с помощью следующих команд:
$ mxstart -a
$ mxstop -af
$ mxstop -arf
$ mxstate -s
| Команда | Назначение |
|---|---|
| mxstop -a | Остановить кластер. (В этом режиме, если есть активное сеансовое соединение, закрытие базы данных может зависнуть) |
| mxstop -af | Быстро остановить кластер |
| mxstop -arf | Перезапустить кластер. Дождитесь завершения текущего SQL-запроса (в этом режиме, если есть активное сеансовое соединение, закрытие базы данных может зависнуть) |
| mxstate -s | Просмотр состояния кластера |