Офлайн-установка означает, что хост кластера не имеет доступа к внешней сети и не может использовать yum для загрузки пакетов установки из внешней сети.

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

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

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

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

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

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

1.1 Создание локального репозитория yum

Установщику MatrixDB требуются дополнительные пакеты ресурсов, которые предоставляются путем создания локального репозитория yum:

Сначала скачайте архив офлайн-репозитория с официального сайта: matrixdb_local_repo.tar.
На всех узлах распакуйте установочный пакет и запустите скрипт create_repo.sh от имени пользователя root:

tar xf matrixdb_local_repo.tar
cd matrixdb_local_repo
sh create_repo.sh

После успешного выполнения выполните команду yum repolist, чтобы просмотреть репозиторий yum и подтвердить успешность установки:

[root@localhost matrixdb_local_repo]# yum repolist
repo id                                  repo name                                   status
base/7/x86_64                            CentOS-7 - Base                             0
extras/7/x86_64                          CentOS-7 - Extras                           0
updates/7/x86_64                         CentOS-7 - Updates                          0
ymatrix                                  ymatrix                                     0
repolist: 95

Вы должны увидеть, что репозиторий ymatrix активирован.

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 --disablerepo=* --enablerepo=ymatrix matrixdb-4.0.0-1.el7.x86_64.rpm

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

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

Скачайте офлайн-пакет зависимостей Python с официального сайта: pip.dep.tar

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

source /usr/local/matrixdb/greenplum_path.sh
yum install --disablerepo=* --enablerepo=ymatrix python3-devel
tar xf pip.dep.tar
pip3 install pip.dep/*.whl

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

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

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

http://<IP>:8240/

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


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

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

После добавления 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