4. Установка и настройка программы Datamart Studio
4.1. Проверка контрольной суммы
Различные версии дистрибутива Datamart Platform Studio имеют разную контрольную сумму. Уточнить контрольную сумму можно в службе технической поддержки, либо в документации, выпущенной под конкретную версию продукта.
В поставку Datamart Platform Studio включается файл с контрольной суммой checksum.txt. Проверить контрольную сумму дистрибутива можно командой:
# cd /opt
# md5sum -c checksum.txt
Проверка выполнена успешно, если контрольная сумма MD5 совпадает с контрольным значением, которое хранится в файле checksum.txt и команда возвращает ответ: «ЦЕЛ».
4.2. Подготовка к установке программы на сервере или ВМ
Для первичной установки Datamart Platform Studio в системе потребуется выполнить следующие действия:
Установить необходимые для работы Программы пакеты в ОС;
Добавить в ОС пользователя datamart и настроить права доступа;
Скачать и установить программу Datamart Platform Studio.
Примечание
При установке в RED OS убедитесь, что параметр SELinux отключен.
4.2.1. Установка необходимых для работы пакетов и приложений
Перед началом установки Программы оркестрации компонентов витрин данных Datamart Platform Studio в ОС сервера потребуется установить компоненты Docker, Docker Compose, Wget, Curl, TZData (если они еще не установлены в текущей комплектации ОС, на которую производится установка Программы). Пакет TZData требуется для синхронизации времени между хостом и контейнерами Datamart Platform Studio.
Для установки Docker, Wget, Curl, TZData последовательно выполните следующие команды установки:
Пример для ALT и Astra Linux:
apt-get update
apt-get install curl wget docker-engine -y
systemctl enable --now docker
apt-get install tzdata
Пример для RED OS:
yum install docker-ce docker-ce-cli curl wget tzdata
systemctl enable --now docker
Если в вашем дистрибутиве Linux отсутствует Docker Compose, требуется предварительно его скачать. Чтобы загрузить текущую стабильную версию Docker Compose, выполните команду:
curl -L "https://github.com/docker/compose/releases/download/v2.29.7/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
Примечание
Чтобы установить другую версию Compose, измените номер версии 2.29.7 на номер версии Compose, которую вы хотите использовать.
Выдайте права на исполнение файла:
chmod +x /usr/local/bin/docker-compose
Проверьте установку Docker Compose командой:
docker-compose --version
Примечание
Если команда docker-compose завершится неудачно после установки, проверьте путь. Вы также можете создать символическую ссылку /usr/bin на любой другой каталог в вашем пути:
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
Создайте группу Docker, выполнив команду:
groupadd docker
Проверьте работоспособность Docker, выполнив команду:
systemctl status docker
Примечание
Статус сервиса docker.service должен быть active (running). Выход из командной строки systemctl по Ctrl+C.
Важно
Если программы Docker или Docker Compose не запустились на вашем сервере, выясните с администратором сервера причину, устраните ее и переустановите программы. Данные программы необходимы для последующей установки и функционирования контейнеров Datamart Platform Studio.
4.2.2. Добавление пользователя datamart в ОС
Для добавления пользователя, от имени которого будут выполнятся дальнейшая инсталляция, необходимо выполнить следующие операции:
Создайте пользователя datamart, и назначьте ему пароль datamart (вы можете ввести любой пароль по своему усмотрению), выполнив команду:
useradd -m datamart -p datamart
Добавьте пользователя datamart в группу docker, выполнив команду:
usermod -aG docker datamart
Добавьте пользователя datamart в группу <sudogrp> для предоставления прав sudo (имя группы <sudogrp> соответствует wheel для Alt Linux, RedOS и sudo для Astra Linux):
usermod -aG <sudogrp> datamart
Примечание
Для отключения запроса пароля при вызове sudo для пользователя datamart, требуется выполнить следующие операции:
Добавьте в настройки (пользователя или группы) директиву NOPASSWD, для этого выполните настройку в текстовом редакторе:
visudo
Добавьте настройку для пользователя datamart:
datamart ALL=(ALL) NOPASSWD: ALL
Важно
Необходимо добавить запись после строки %wheel ALL=(ALL) ALL .
Сохраните изменения и закройте файл.
4.3. Установка программы Datamart Studio на сервере или ВМ
Для установки Datamart Platform Studio необходимо выполнить следующие операции:
Перейдите в режим пользователя datamart, выполнив команду:
su - datamart
Загрузите дистрибутив Datamart Platform Studio, выполнив команду:
wget --user=<user> --password=<password> --no-check-certificate https://dms-demo.datamart.ru/datamart/dtms-builds/datamart-studio-<version>.tar.gz -O datamart-studio.tgz
где:
<version> - версия требуемого дистрибутива
<user> - имя пользователя, которому выдано разрешение скачать дистрибутив
<password> - пароль пользователя
Распакуйте дистрибутив в целевую директорию, выполнив команду:
tar -xvzf datamart-studio.tgz
Примечание
При распаковке дистрибутива заполняется файл .env с требуемыми для данной поставки переменными окружения.
Проверьте наличие и состав переменных окружения, выполнив команду:
cat .env
Пример ответа на команду cat .env:
Произведите требуемые для вашей установки настройки переменных окружения (см. разделы: Раздел 4.5 Предварительная настройка переменных окружения, Раздел 4.6 Настройка переменных окружения для работы на Платформе ГосТех);
Для развёртывания Datamart Platform Studio выполните команду:
sudo ./datamart-studio setup
После выполнения всех шагов будет произведено развертывание и загрузка образов компонентов программы в docker-контейнеры.
4.4. Установка программы Datamart Studio в среде Kubernetes (K8s)
Установка Datamart Platform Studio в среде Kubernetes (K8s) производится с использованием системы управления конфигурациями с открытым исходным кодом – Ansible, которую требуется предварительно установить. Для установки Ansible требуется выполнить следующие команды (пример для ALT Linux 8):
apt-get install ansible
Далее, необходимо установить требующиеся для работы с K8s модули Ansible:
ansible-galaxy collection install community.general kubernetes.core
Примечание
Пользователю, от имени которого производится установка в K8s не требуется никаких особенных прав на сервере (ВМ), с которого осуществляется процесс установки.
Шаги установки Datamart Platform Studio в среде Kubernetes (K8s) следующие:
Подключитесь SSH-клиентом к серверу, с которого будет производится установка в Kubernetes.
Распакуйте дистрибутив ПО из архива datamart-studio.tgz командой:
tar zxvf /opt/datamart-studio.tgz -C /opt
Перейдите в распакованную папку для установки ПО командой:
cd /opt/datamart_studio/
Выполните конфигурирование ПО для установки в среду Kubernetes:
Рекомендуемое значение параметра NAMESPACE для установки ПО Datamart Studio в среду Kubernetes: «dms». Данное значение может быть изменено по требованию администратора Kubernetes. В случае изменения данного параметра, во всех скриптах ниже, вместо dms необходимо будет указать новый параметр;
Прочитайте переменную CONTEXT из файла конфигурации Kubernetes ~/.kube/config командой:
cat ~/.kube/config | grep context
Внесите в файл конфигурации ПО /opt/datamart-studio/datamart-studio-k8s/ansible/roles/dtms-k8s/defaults/main.yaml значение переменной CONTEXT при помощи редактора VIM (если оно отличается от того, что указано в ~/.kube/config):
vim /opt/datamart-studio/datamart-studio-k8s/ansible/roles/dtms-k8s/defaults/main.yaml
Пример содержимого файла конфигурации /opt/datamart-studio/datamart-studio-k8s/ansible/roles/dtms-k8s/defaults/main.yaml:
CREATE_NAMESPACE: true CONTEXT: "kubernetes-admin@cluster.local" NAMESPACE: "dms"
Произведите требуемые настройки переменных окружения (см. разделы: Раздел 4.5 Предварительная настройка переменных окружения, Раздел 4.6 Настройка переменных окружения для работы на Платформе ГосТех);
Запустите скрипт установки ПО, который выполняет команду запуска Ansible playbook установки (будет запущен /opt/datamart-studio/datamart-studio-k8s/ansible/playbooks/deploy.yaml):
./datamart-studio deploy-k8s
Дождитесь сообщения об успешном окончании установки:
Datamart Studio status: 'DEPLOYED'
Подождите примерно минуту до запуска интерфейса;
Откройте при помощи браузера страницу по адресу https://studio-k8s (сконфигурированный администратором адрес сервера, на котором произведена установка).
Установка выполнена успешно, если после развертывания веб-интерфейс приложения доступен из браузера по адресу сервера, на котором производилась установка и отображается экран авторизации Datamart Platform Studio.
4.5. Предварительная настройка переменных окружения
Перед тем, как произвести запуск Datamart Platform Studio, администратор может дополнительно настроить переменные окружения (см. Раздел 12.1 Настройка параметров в файле конфигурации ), которые влияют на работу с программой:
Используемая система авторизации (AUTH);
Количество воркеров (RESQUE_QUEUE_POOL_SIZE);
Данные организации по умолчанию (STUDIO_DEFAULT_ORANIZATION_NAME, STUDIO_DEFAULT_ORANIZATION_TILE, STUDIO_DEFAULT_ORANIZATION_OGRN).
4.5.1. Настройка подключения к БД
В качестве БД для хранения служебной информации Datamart Platform Studio (в зависимости от комплекта поставки) использует СУБД Postgres или Pangolin. Если СУБД включена в поставку Datamart Platform Studio, переменные окружения уже настроены на подключение к контейнеру с СУБД и дополнительная конфигурация не требуется.
В случае, если СУБД предоставляется для Datamart Platform Studio, как отдельный Сервис транзакционной СУБД, то в переменных окружения DB необходимо указать параметры подключения к сервису транзакционной СУБД. При установке, Datamart Platform Studio автоматически создаст необходимую для своей работы схему в БД.
Пример настроек параметров БД Datamart Platform Studio при подключении к Сервису внешней транзакционной СУБД:
DB_HOST=pgse-datamart-01.dvpaio.novalocal
DB_PORT=6544
DB_USER=sauser
DB_PASSWORD=*****
DB_NAME=datamart_
4.5.2. Настройка подключения к сервису Keycloak
Для обеспечения работы средств наложенной защиты Proxy API в конфигурационном файле требуется указать параметры подключения к сервису Keycloak, в котором пользователь будет получать JWT-токен, необходимый для аутентификации при выполнении запросов к Proxy API.
Пример:
KEYCLOAK_CLIENT_NAME=studio-k8s-gostech
KEYCLOAK_CLIENT_SITE=https://keycloak.dvpaio.novalocal:8444
KEYCLOAK_CLIENT_REALM=Arenadata
KEYCLOAK_CLIENT_BASE_URL=/auth
Примечание
Подключение к Keycloak настраивается независимо от способа авторизации. Для получения и использования JWT-токена в Keycloak должен быть добавлен соответствующий пользователь с технической ролью proxy_api.
4.6. Настройка переменных окружения для работы на Платформе ГосТех
При разворачивании программы в качестве Сервиса оркестрации Витрин данных НСУД на платформе ГосТех необходимо применить следующие настройки переменных окружения:
Настройки авторизации и аутентификации;
Настройки параметров мониторинга;
Настройки параметров журналирования;
Настройки параметров отправки событий аудита.
4.6.1. Настройка авторизации и аутентификации
Примечание
При предоставлении Datamart Platform Studio, как сервиса на Платформе ГосТех добавление пользователей для Datamart Platform Studio, назначение ролей и организаций пользователям производится в сервисе Platform V IAM
Тип авторизации AUTH=IAM и параметры подключения к сервису Platform V IAM указываются в файле конфигурации.
Пример:
AUTH=IAM
KEYCLOAK_CLIENT_NAME=studio-k8s-gostech
KEYCLOAK_CLIENT_SITE=https://keycloak.dvpaio.novalocal:8444
KEYCLOAK_CLIENT_REALM=Arenadata
KEYCLOAK_CLIENT_BASE_URL=/auth
Ключи для подключения к Platform V IAM предоставляются администратором Платформы. Для использования их в Datamart Platform Studio при подключении к Platform V IAM предоставленные ключи необходимо собрать командой в один файл ключа в формате PEM:
for file in $(ls ./*); do (cat ${file}; echo) >> mtls.pem; done;
и сохранить полученный ключ в папку DMS-DIRS в Datamart Platform Studio.
Примечание
В docker-контейнере Студии ключ будет расположен в папке: /opt/mtls.pem
4.6.2. Настройка параметров мониторинга
Метрики мониторинга собираются в формате Prometheus используемом для чтения Сервисом мониторинга (Platform V Monitor).
Настройка формата метрик производится в параметрах конфигурационного файла .env.
Пример:
LOG_FORMATTER=gostech # настройка формата Prometheus для ГосТех
LOG_FORMATTER_BACKTRACE_LENGTH=7
# настройки экспорта метрик мониторинга в формате PROMETHEUS
PROMETHEUS_EXPORTER_HOST=0.0.0.0 - не требуется менять
PROMETHEUS_EXPORTER_PORT=9394 - - не требуется менять
PROMETHEUS_DATA_UPDATE_INTERVAL=2 - интервал обновления метрик для PROMETHEUS
4.6.3. Настройка параметров журналирования
Настройка отправки данных логов в Сервис журналирования производится в параметрах конфигурационного файла .env указанием параметров, предоставленных администратором Платформы для подключения к Сервису журналирования.
Пример:
LOGSTASH_HOST=logstash-client-01-datamart.dvpaio.novalocal
LOGSTASH_PORT=5045
LOGSTASH_TLS=On
4.6.4. Настройка параметров отправки событий аудита
Данные о событиях аудита собираются и отправляются асинхронно в очередь audit в компоненте resque. Настройка отправки событий из очереди audit в сервис Platform V Audit производится в параметрах конфигурационного файла .env указанием параметров, предоставленных администратором Платформы для подключения к сервису аудита.
Пример:
SEND_AUDIT_EVENTS=true # включение отправки событий аудита в очередь audit в resque
AUDIT_SERVICE_HOST=https://fis-mtls.gt-sol-dev-coreplatform-01.apps.k8s.dvp.tech/audit/proxy
AUDIT_SERVICE_EVENT_ENDPOINT=v2/rn/inv-yen-datamart/event
AUDIT_SERVICE_METAMODEL_ENDPOINT=v2/rn/inv-yen-datamart/metamodel
AUDIT_SERVICE_CERT=${STORAGE_VOL}/mtls.pem
4.7. Первичный запуск на сервере или ВМ
Примечание
При установке программы Datamart Studio в среде Kubernetes (K8s) процедура первичного запуска не требуется
Для первичного запуска Программы оркестрации компонентов витрин данных Datamart Studio необходимо выполнить следующие операции:
Выполните команду (важно: без sudo):
./datamart-studio launch
В случае успешного запуска, команда должна завершиться сообщениями (см. Рисунок 4.2):
Примечание
C момента запуска до возможности доступа к пользовательскому интерфейсу может пройти до 3 минут, в зависимости от мощности сервера, на котором разворачивается Datamart Platform Studio.
Для проверки работоспособности контейнеров необходимо выполнить команду:
docker ps
на экран будет выведен список запущенных контейнеров из поставки.
Проверить работоспособность запущенной системы можно браузером по адресу: http://0.0.0.0:8088 ,где вместо 0.0.0.0 необходимо подставить IP адрес сервера, на котором производится установка Datamart Platform Studio.
В браузере должно отобразиться окно авторизации Datamart Platform Studio:
4.8. Остановка программы
Во время эксплуатации Datamart Platform Studio может потребоваться остановить работу Программы, например, для плановой перезагрузки сервера. Для остановки Программы необходимо выполнить следующие операции:
Для корректной остановки авторизуйтесь в терминале сервера от имени пользователя datamart и выполнить следующую команду:
./datamart-studio stop
Дождитесь сообщения об успешной остановке программы (см. Рисунок 4.4):
4.9. Запуск программы после установки
В случае плановой перезагрузки сервера, а также в случае аварийного отключения сервера, потребуется вновь вручную запустить ранее работавшую Datamart Platform Studio. Для запуска Программы после остановки необходимо выполнить следующие операции:
Авторизуйтесь в терминале сервера от имени пользователя datamart;
Выполните команду:
./datamart-studio start
Дождитесь сообщения об успешном старте Программы (см. Рисунок 4.5):
После успешного запуска интерфейс Программы будет доступен по адресу http://0.0.0.0:8088 , где вместо 0.0.0.0 укажите IP-адрес сервера, на котором развёрнута Datamart Platform Studio.
4.10. Сброс параметров
Если по какой-то причине, например, после проведения тестового испытания, требуется сбросить все параметры Программы оркестрации компонентов витрин данных Datamart Studio и вновь произвести первичный запуск, то для этого нет необходимости полностью переустанавливать Программу. Необходимо выполнить следующие операции:
Выполните команду
destroy
от имени пользователяdatamart
:
./datamart-studio destroy
Дождитесь сообщения об успешной остановке контейнеров (см. Рисунок 4.6):
Контейнеры Docker остановлены и данные сброшены;
Для последующего запуска Программы выполните команду:
./datamart-studio launch
Важно
После выполнения пары команд destroy – launch Datamart Platform Studio будет переведена в состояние первичного запуска. Вам вновь потребуется произвести первичный запуск пользовательского интерфейса Программы (см. Раздел 4.7 Первичный запуск на сервере или ВМ) и вновь установить SSH-ключ.
4.11. Удаление программы с сервера
Если Вам необходимо полностью удалить Datamart Platform Studio с сервера, выполните следующие операции:
Выполните команду
destroy
от имени пользователяdatamart
:
./datamart-studio destroy
Очистите содержимое docker командой rm:
sudo docker image rm $(docker images -aq)
Удалите все файлы, включая скрытые, из каталога пользователя datamart, в котором была установлена программа:
sudo rm -rf /home/datamart/{*,.*}
Важно
При удалении программы Datamart Studio приложения услуг (в т.ч. Витрин данных) не удаляются автоматически. Если вам необходимо удалить не только программу Datamart Studio, но и все услуги и приложения, которыми управляет Программа, то перед удалением необходимо удалить все приложения услуг.
4.12. Просмотр логов и сообщения администратору
Сообщения администратору и логи работы компонентов Datamart Platform Studio выводит в раздел Логи
в карточке соответствующего компонента.
Логи доступны в карточках компонентов:
Дата-центр;
Услуга;
Инсталляция;
Сервер;
Приложение;
Бандл;
Гипервизор.