Конфигурация баз данных#
Для корректной работы LUNA PLATFORM необходимо настроить базы данных следующим образом:
- настроить InfluxDB
- скомпилировать библиотеку VLMatch и перенести в СУБД
- создать пользователя БД
- установить Postgis для БД Events
VLMatch — функция для выполнения вычислений по сравнению биометрических шаблонов. Библиотека VLMatch компилируется для конкретной версии базы данных. Не используйте библиотеку, созданную для другой версии базы данных. Например, библиотеку, созданная для PostgreSQL версии 16 нельзя использовать для PostgreSQL версии 12.
Storages автоматически добавит функции VLMatch в СУБД PostgreSQL и активирует Postgis.
В разделах ниже приводятся команды для СУБД PostgreSQL. Для Oracle приводятся только команды по компиляции библиотеки VLMatch (см. раздел "Компиляция библиотеки VLMatch для Oracle" в разделе "Дополнительная информация").
Настройка InfluxDB#
Если InfluxDB уже развернут в вашем кластере Kubernetes, убедитесь, что следующие данные заданы корректно:
-
Имя пользователя и пароль
-
Название бакета и организации
-
Токен администратора
Важно! Вышеописанные данные необходимо указать в дамп-файле с настройками LUNA PLATFORM для того, чтобы сервисы получили доступ к InfluxDB. Однако настройки сервиса Configurator нельзя задать в дамп-файле, поэтому их нужно задать в Helm чарте сервиса Configurator следующим образом:
env:
- name: VL_SETTINGS.LUNA_MONITORING.STORAGE_TYPE
value: "influx"
- name: VL_SETTINGS.LUNA_MONITORING.SEND_DATA_FOR_MONITORING
value: "1"
- name: VL_SETTINGS.LUNA_MONITORING.ORGANIZATION
value: "luna"
- name: VL_SETTINGS.LUNA_MONITORING.TOKEN
value: "12345678"
- name: VL_SETTINGS.LUNA_MONITORING.BUCKET
value: "luna_monitoring"
- name: VL_SETTINGS.LUNA_MONITORING.HOST
value: "influxdb"
- name: VL_SETTINGS.LUNA_MONITORING.PORT
value: "8086"
- name: VL_SETTINGS.LUNA_MONITORING.USE_SSL
value: "0"
- name: VL_SETTINGS.LUNA_MONITORING.FLUSHING_PERIOD
value: "1"
Настройки InfluxDB также можно указать в переменных окружения в Helm чарте каждого сервиса.
Компиляция библиотеки VLMatch#
Примечание. В следующей инструкции приведен пример для СУБД PostgreSQL 16 на Almalinux 8.
Все файлы, требуемые для компиляции расширения, заданного пользователем (UDx), в VLMatch, можно найти в следующей директории:
/var/lib/luna/current/extras/VLMatch/postgres/
Для компиляции функции VLMatch UDx необходимо:
- установить репозиторий RPM:
dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
- установить PostgreSQL:
dnf install postgresql16-server
- установить окружение для разработки:
dnf install postgresql16-devel
- установить пакет gcc:
dnf install gcc-c++
-
установить CMAKE. Необходима версия 3.5 или выше.
-
открыть скрипт make.sh в текстовом редакторе. Он включает в себя пути к используемой на данный момент версии PostgreSQL. Измените следующие значения (при необходимости):
SDK_HOME
задает путь к домашней директории PostgreSQL. По умолчанию это /usr/pgsql-16/include/server
;
LIB_ROOT
задает путь к библиотечной корневой директории PostgreSQL. По умолчанию это /usr/pgsql-16/lib
.
- открыть директорию скрипта
make.sh
и запустить его:
cd /var/lib/luna/current/extras/VLMatch/postgres/
chmod +x make.sh
./make.sh
Перенесите сгенерированный файл VLMatchSource.so
в СУБД PostgreSQL в директорию \srv
.
Создание пользователя БД#
В данном разделе приводятся примеры команд для создания пользователя на примере СУБД PostgreSQL.
Создайте пользователя базы данных.
psql -U postgres -c 'create role luna;'
Присвойте пользователю пароль.
psql -U postgres -c "ALTER USER luna WITH PASSWORD 'luna';"
Примечание. Обратите внимание, что имя пользователя и пароль указывается в настройках LUNA PLATFORM для соединения сервисов с БД.
Storages автоматически создаст нужные базы данных и выдаст все необходимые права в соответствии с именем пользователя из конфигурационного файла Storages.
Установка PostGIS для БД Events#
Сервис Events требует расширения PostGIS для работы с координатами.
Поскольку PostGIS является расширением для PostgreSQL, его версия обычно соответствует версии PostgreSQL, с которой оно совместимо.
Самостоятельно установите расширение для используемой версии PostgreSQL, используя официальную документацию.
Для PostgreSQL 16 требуется версия PostGIS 3.4.