Быстрый старт
Развертывание
Моделирование данных
Подключение
Запись данных
Миграция
Запросы
Операции и обслуживание
Типовое обслуживание
Секционирование
Резервное копирование и восстановление
Масштабирование
Зеркалирование
Управление ресурсами
Безопасность
Мониторинг
Настройка производительности
Устранение неполадок
Справочник
Руководство по инструментам
Типы данных
Хранилище данных
Выполняющая система
Потоковая передача
Восстановление после сбоев
Конфигурация
Индексы
Расширения
Справочник по SQL
Часто задаваемые вопросы
| Операционная система | Поддерживаемая архитектура CPU |
|---|---|
| Ubuntu 20.04 | x86_64 |
Процесс установки сервера включает 5 шагов: просмотр базовой информации о сервере, подготовку к установке, установку DEB-пакета базы данных, развертывание базы данных и настройку после установки.
Перед выполнением установки сначала проверьте базовую информацию о сервере. Это хорошая привычка — понимание характеристик сервера поможет вам лучше спланировать и развернуть кластер.
| Шаг | Команды | Назначение |
|---|---|---|
| 1 | free -h | Просмотр информации об оперативной памяти операционной системы |
| 2 | df -h | Просмотр объема дискового пространства |
| 3 | lscpu | Просмотр количества ядер процессора |
| 4 | cat /etc/system-release | Просмотр версии операционной системы |
| 5 | uname -a | Вывод всей информации о ядре в следующем порядке (если определение типа процессора и аппаратной платформы невозможно, результаты для параметров -p и -i опускаются): имя ядра; имя хоста в сетевом узле; номер выпуска ядра; версия ядра; имя архитектуры аппаратного обеспечения; тип процессора (непереносимо); аппаратная платформа (непереносимо); имя операционной системы |
| 6 | tail -11 /proc/cpuinfo | Просмотр информации о процессоре |
Примечание!
Команды из разделов 2 «Подготовка к установке» и 3 «Установка DEB-пакета базы данных» должны выполняться на всех узлах.
По умолчанию вы уже завершили настройку списка программного обеспечения в файле конфигурации /etc/apt/sources.list. Далее необходимо обновить список программного обеспечения от имени пользователя root или с правами root.
# sudo apt update
apt (Advanced Package Tool) — это расширенный инструмент управления пакетами. Его основные функции связаны с получением и установкой пакетов программного обеспечения. Вы можете загружать пакеты, устанавливать их, анализировать зависимости между пакетами, обновлять списки программного обеспечения и т.д.
Настройте региональные параметры от имени пользователя root или с правами root.
# sudo apt install -y locales && sudo locale-gen "en_US.UTF-8" && sudo update-locale LC_ALL="en_US.UTF-8"
На всех узлах выполните следующую команду от имени пользователя root или с использованием прав sudo для установки пакетов Python, от которых зависит MatrixDB. Обратите внимание, что необходимо выполнить source greenplum_path.sh, чтобы была установлена корректная версия зависимых пакетов.
# sudo apt install -y \
gcc \
python3-dev \
python3-pip \
python3-psutil \
python3-pygresql \
python3-testresources
# source /usr/local/matrixdb/greenplum_path.sh
# sudo pip3 install --upgrade setuptools
# sudo pip3 install argparse psutil pygresql pyyaml
# sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 50
Отключите брандмауэр:
# 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
Скопируйте DEB-пакеты, которые будут установлены, со своего локального компьютера на все узлы.
~ scp <本地文件路径> <用户名>@<服务器 IP 地址>:<服务器文件路径>
Установите DEB-пакет MatrixDB от имени пользователя root или с правами root.
# sudo apt install -y /path/to/matrixdb-4.8.0.enterprise-1ubuntu1_x86_64.deb
Примечание!
В процессе фактической установки замените имя файла на имя последнего загруженного DEB-пакета.
После успешной установки процессы supervisor и MXUI будут автоматически запущены. Эти фоновые процессы предоставляют графический интерфейс и службы управления процессами.
Если требуется настроить порты, вручную создайте файл /etc/matrixdb/defaults.conf для конфигурации после установки DEB-пакета. Эта операция выполняется только на мастер-узле. Пример:
# vim /etc/matrixdb/defaults.conf
Добавьте следующее содержимое и при необходимости измените номера портов.
MasterPortBase = 5438
StandbyPortBase = 5439
PrimaryPortBase = 6500
MirrorPortBase = 7500
Здесь по-прежнему используется графическое развертывание, предоставляемое MatrixDB. Для удаленного графического развертывания порты сервера 8240 и 4617 должны быть доступны. После установки эти порты на всех узлах будут открыты по умолчанию. Служба графического интерфейса предоставляется процессом MXUI.
Используйте браузер для доступа к URL-адресу мастера установки с графическим интерфейсом ниже, где указан IP-адрес сервера mdw:
http://<IP>:8240/
На первой странице мастера установки необходимо ввести пароль суперпользователя, который можно посмотреть с помощью команды sudo more /etc/matrixdb/auth.conf.

На второй странице выберите «Развертывание на нескольких узлах» и нажмите «Далее». 
Далее начнется четырехэтапный процесс развертывания на нескольких машинах.
Первый шаг — добавление узлов. Нажмите кнопку «Добавить узел». 
Введите IP-адреса, имена хостов или полные доменные имена sdw1 и sdw2 в текстовое поле, нажмите «ОК», затем «Далее». 
Второй шаг — настройка параметров кластера. Параметр «Зеркалирование данных» определяет, содержит ли узел данных кластера резервные копии. Рекомендуется включить его в производственной среде для обеспечения высокой доступности кластера. Система автоматически предлагает использовать диски с наибольшим объемом памяти и количество сегментов, соответствующее ресурсам системы, но эти значения можно скорректировать в зависимости от конкретного сценария использования. Структуру кластера можно просмотреть на схеме. Подтвердив настройки, нажмите «Далее». 
Третий шаг — настройка путей хранения. 
Четвертый шаг — выполнение развертывания. На этом этапе будут перечислены параметры конфигурации предыдущих действий. После проверки правильности нажмите «Выполнить развертывание». 
Система автоматически развернет кластер и покажет подробные шаги и ход выполнения. После успешного завершения всех шагов развертывание будет завершено. 
Развертывание завершено. 
На всех узлах измените файл sysstat, заменив ENABLED="false" на ENABLED="true", затем нажмите esc, введите :wq для сохранения и выхода.
# sudo vi /etc/default/sysstat
Перезапустите службу.
# sudo service sysstat restart
По умолчанию установка MatrixDB поддерживает удаленные подключения. Если во время установки не был установлен флажок «Разрешить удаленное подключение к базе данных», вручную измените файл $MASTER_DATA_DIRECTORY/pg_hba.conf, добавив строку следующего вида, указывающую, что пользователям с любого IP-адреса разрешено подключаться ко всем базам данных с аутентификацией по паролю. Диапазон IP-адресов или имена баз данных можно ограничить в соответствии с реальными потребностями, чтобы снизить риски безопасности:
# host all all 0.0.0.0/0 md5
После внесения этих изменений выполните следующую команду для перезагрузки конфигурационного файла pg_hba.conf:
# gpstop -u
Запуск, остановка, перезапуск и просмотр состояния MatrixDB можно выполнить с помощью следующих команд:
| Команда | Назначение |
|---|---|
| gpstop -a | Остановить кластер. (В этом режиме, если есть активные сессии, закрытие базы данных может зависнуть) |
| gpstop -af | Быстрая остановка кластера |
| gpstop -ar | Перезапуск кластера. Ожидание завершения текущего SQL-запроса (в этом режиме, если есть активные сессии, закрытие базы данных может зависнуть) |
| gpstate -s | Просмотр состояния кластера |