Развертывание кластера под операционной системой Ubuntu 20.04

  • Требования к операционной системе и платформе
Операционная система Поддерживаемая архитектура CPU
Ubuntu 20.04 LTS x86_64
aarch64
  • Пример информации о кластере

В этом документе в качестве примера используется три узла: основной узел — mdw, два узла данных — sdw1 и sdw2 соответственно.

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

Процесс установки сервера включает в себя 5 шагов: просмотр базовой информации о сервере, подготовку к установке, установку DEB-пакета базы данных, развертывание базы данных и настройку после установки.

1 Просмотр базовой информации о сервере

Перед выполнением операций по установке сначала проверьте базовую информацию о сервере. Это хорошая практика, поскольку понимание конфигурации сервера поможет вам лучше спланировать и развернуть кластер.

Шаг Команды Назначение
1 free -h Просмотр информации об оперативной памяти операционной системы
2 df -h Просмотр дискового пространства
3 lscpu Просмотр количества ядер процессора
4 lsb_release -a Просмотр версии операционной системы
5 uname -a Отображение всей информации о ядре в следующем порядке (если определение типа процессора и аппаратной платформы невозможно, результаты для параметров -p и -i опускаются): имя ядра; имя хоста в сетевом узле; номер выпуска ядра; версия ядра; имя архитектуры аппаратного обеспечения; тип процессора (непереносимо); аппаратная платформа (непереносимо); имя операционной системы
6 tail -11 /proc/cpuinfo Просмотр информации о процессоре

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

Примечание!
Команды из разделов 2 «Подготовка к установке» и 3 «Установка DEB-пакета базы данных» должны выполняться на всех узлах.

2.1 Обновление списка программного обеспечения

По умолчанию вы уже завершили настройку списка программного обеспечения в файле конфигурации /etc/apt/sources.list. Далее необходимо обновить список программного обеспечения от имени пользователя root или с правами root.

# apt update

APT (Advanced Package Tool) — это расширенный инструмент управления пакетами. Его основные функции связаны с получением и установкой пакетов программного обеспечения. Вы можете загружать пакеты, устанавливать пакеты, анализировать зависимости между пакетами, обновлять списки программного обеспечения и т.д.

2.2 Настройка региональных параметров (Locale)

Настройте региональные параметры от имени пользователя root или с использованием прав sudo.

# apt install -y locales && sudo locale-gen "en_US.UTF-8" && sudo update-locale LC_ALL="en_US.UTF-8"

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

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

# hostnamectl set-hostname mdw

Два дочерних узла также должны иметь соответствующие имена хостов:

# hostnamectl set-hostname sdw1
# hostnamectl set-hostname sdw2

Убедитесь, что все узлы кластера могут взаимно обращаться друг к другу по имени хоста и IP-адресу. Сначала установите инструмент vim.

# apt install vim

Добавьте запись в файл /etc/hosts, чтобы сопоставить имя хоста с локальным сетевым адресом. Например, файл /etc/hosts на трех узлах может содержать следующее:

# vim /etc/hosts
192.168.100.10 mdw
192.168.100.11 sdw1
192.168.100.12 sdw2

После ввода нажмите esc для выхода, затем введите :wq, чтобы сохранить изменения.

2.4 Копирование DEB-пакетов с локального компьютера на сервер

Примечание!
Ссылку для скачивания DEB-пакета можно получить из официального электронного письма.

Скопируйте предстоящие к установке DEB-пакеты со своего локального компьютера на все узлы.

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

3 Установка DEB-пакета YMatrix

Примечание!
Необходимо установить DEB-пакет базы данных на всех узлах сервера от имени пользователя root или с использованием прав sudo. Зависимые системные библиотеки будут установлены автоматически.

# apt install -y /path/to/matrixdb5_5.2.0+enterprise-1_amd64.deb

Примечание!
Во время фактической установки замените имя файла на имя последнего загруженного DEB-пакета, /path/to/ — на корректный путь, а если пакет находится в текущей директории, используйте ./.

После успешной установки процессы supervisor и MXUI будут запущены автоматически. Эти фоновые процессы предоставляют графический интерфейс и службы управления процессами. Если требуется настроить порты, измените файл /etc/matrixdb5/defaults.conf после установки DEB-пакета. Эта операция выполняется только на главном узле.

# vim /etc/matrixdb5/defaults.conf

4 Установка зависимостей Python и настройка версии Python по умолчанию

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

# apt install -y \
   gcc \
   python3-dev \
   python3-pip \
   python3-psutil \
   python3-pygresql \
   python3-testresources
# update-alternatives --install /usr/bin/python python /usr/bin/python3 50

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

Здесь по-прежнему используется графическое развертывание, предоставляемое 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: Выполнение развертывания. На этом этапе будут перечислены параметры конфигурации из предыдущих действий. После проверки правильности нажмите «Развернуть».

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

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

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

6.1 Настройка sysstat

На всех узлах измените файл sysstat, заменив ENABLED="false" на ENABLED="true", затем нажмите esc, введите :wq для сохранения и выхода.

# sudo vi /etc/default/sysstat

Перезапустите службу.

# sudo service sysstat restart

6.2 Удалённое подключение к базе данных

По умолчанию установка 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    

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

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

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