MatrixDB 4 можно установить на Redhat 7, CentOS 7 и операционные системы, совместимые с CentOS. В этом документе описаны шаги быстрого развертывания кластеров MatrixDB 4 на нескольких серверах или виртуальных машинах под управлением CentOS 7. В качестве примера рассматриваются три узла: главный узел — mdw, два узла данных — sdw1 и sdw2 соответственно.

Обратитесь к [установке и развертыванию MatrixDB] за видеоуроком по данному курсу (https://www.bilibili.com/video/BV1Jf4y1b7Ef/)

Важно!
Среда установки MatrixDB должна поддерживать архитектуру процессора Intel не ниже Haswell или архитектуру AMD не ниже Excavator.

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

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

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

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

На всех узлах выполните следующие действия от пользователя root.

MatrixDB 4 требует Python 3.6. Используйте следующую команду для установки и настройки Python 3.6 как версии по умолчанию:

yum install centos-release-scl
yum install rh-python36
scl enable rh-python36 bash

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

yum install -y epel-release || yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(cut -d: -f5 /etc/system-release-cpe | cut -d. -f1).noarch.rpm
yum install -y https://apache.jfrog.io/artifactory/arrow/centos/$(cut -d: -f5 /etc/system-release-cpe | cut -d. -f1)/apache-arrow-release-latest.rpm
yum install -y arrow-libs-3.0.0 parquet-libs-3.0.0

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

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

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

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

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

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

На всех узлах от пользователя root выполните следующую команду yum для установки RPM-пакета базы данных. Зависимые системные библиотеки будут установлены автоматически. По умолчанию установка будет выполнена в каталог /usr/local/matrixdb:

yum install matrixdb-4.0.0-1.el7.x86_64.rpm

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

3 Установка зависимых пакетов Python

На всех узлах от пользователя root выполните следующую команду для установки пакетов Python, необходимых для работы MatrixDB. Обратите внимание, что необходимо выполнить source greenplum_path.sh, чтобы была установлена правильная версия зависимого пакета:

source /usr/local/matrixdb/greenplum_path.sh
yum install gcc python3-devel
pip3 install --upgrade setuptools
pip3 install argparse psutil pygresql pyyaml 

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

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

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

http://<IP>:8240/

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


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

Первый шаг — добавление узла. Введите IP-адрес, имя хоста или полное доменное имя (FQDN) узла в текстовое поле и нажмите «Добавить узел»: Добавление узла

После добавления sdw1 и sdw2 нажмите «Далее»: Завершение добавления узлов

На этом этапе будет проведено тестирование взаимного соединения между хостами, чтобы убедиться в наличии сетевой связи между ними. Тест соединения


Второй шаг — настройка базы данных. Выберите путь хранения каталога базы данных и количество сегментов. Система автоматически предлагает использовать диск с наибольшим объемом памяти и количество сегментов, соответствующее ресурсам системы. Эти параметры можно скорректировать в зависимости от конкретного сценария использования. Опция «Включить автоматическое зеркалирование данных» определяет, будут ли узлы данных кластера содержать резервные копии. Рекомендуется включить эту опцию в производственной среде для обеспечения высокой доступности кластера. После подтверждения нажмите «Далее»: Настройка базы данных


Шаг 3: Установка пароля. MatrixDB создаст учетную запись администратора базы данных mxadmin, которая будет использоваться как суперпользователь. На этом шаге задайте пароль для учетной записи mxadmin, затем нажмите «Далее» (здесь устанавливается пароль учетной записи базы данных, а не пароль учетной записи операционной системы): Установка пароля


Шаг 4: Подтверждение развертывания. На этом этапе будут перечислены параметры конфигурации, заданные ранее. После проверки корректности нажмите «Выполнить развертывание»: Подтверждение развертывания

Затем система автоматически развернет кластер и отобразит подробные шаги и ход выполнения. Ход развертывания

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


Теперь вы можете увидеть основные методы управления базой данных и способы настройки удаленных подключений. Чтобы убедиться, что кластер базы данных успешно развернут и доступен, нажмите «Проверить подключение»: Подробности завершения

Если появится сообщение об успешном подключении, это означает, что кластер может нормально принимать запросы пользователей: Проверка подключения

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

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

host  all       all   0.0.0.0/0  md5

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

gpstop -u

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

gpstart -a
gpstop -af
gpstop -arf
gpstate