.. _install_prostore_lite:
Установка программы
===================
.. attention:: Перед установкой программы необходимо обязательно выполнить предварительные действия по настройке (см. раздел :ref:`preactions`).
Состав компонентов и номер версии см. в разделе «4. Проверка Программы» настоящего Руководства (см. :numref:`table_container_list_lite`).
Требования к серверному оборудованию, телекоммуникационному оборудованию и каналам связи приведены в разделе «Минимальный состав технических средств» документа «Руководство администратора».
Требования к программному обеспечению (см. раздел «Минимальный состав программных средств» документа «Руководство администратора»).
Настройка конфигурационного файла
---------------------------------
Чтобы запустить процесс установки программы с помощью Ansible, необходимо настроить конфигурационный файл. Для этого выполните следующие действия:
1. Переименовать файл ``custom.example.yml`` расположенный в папке *ansible/group_vars/* в ``custom.yml``. Для этого выполните команду:
::
cp -n ansible/group_vars/custom.example.yml ansible/group_vars/custom.yml
2. В файле ``custom.yml`` указать корректные значения для следующих переменных:
- ``server_ip`` - адреса сервера. Укажите IP-адрес сервера, на который будет установлена программа. Например:
::
server_ip: "172.16.10.59"
- ``server_user_name`` - имя пользователя операционной системы. Укажите имя пользователя операционной системы сервера, под которым будет производиться установка программы (см. раздел :ref:`datamart_user_lite`), например:
::
server_user_name: datamart
- ``podd_kafka_topic_prefix`` - префикс перед именем топиков для ПОДД-агента. Например:
::
podd_kafka_topic_prefix: "user_prefix."
.. attention:: В качестве префикса рекомендуется использовать мнемонику витрины. После определения параметра префикса следует обязательно ставить символ ``.`` (точка)! Пример: ``podd_kafka_topic_prefix: "prod_vitrina98."``
.. _install_prostore:
Установка программы
-------------------
Для установки программы выполните команду::
docker-ansible-cmd ansible-playbook -i hosts install.yml
Начнется процесс установки программы (см. :numref:`progress_install`):
.. _progress_install:
.. figure:: img/progress_install_lig.png
:align: center
:alt: Процесс установки
Процесс установки
Установка программы завершена. При успешной установке параметр ``failed`` должен иметь значение - ``0`` (см. :numref:`progress_install`). Это значит, что все компоненты
программы установлены, а необходимые взаимосвязи между ними настроены корректно.
После установки программы следует провести ее проверку.
Проверка программы
==================
.. _check_install_prostore:
Процесс установки программы описан в разделе :ref:`install_prostore_lite`.
Для проверки установки программы следует выполнить следующие действия:
1. Открыть в браузере web-интерфейс **Portainer** для управления docker-контейнерами по адресу:
.. code-block::
IP:9000
- ``IP`` - адрес сервера.
- ``9000`` - порт сервера.
2. Введите логин и пароль администратора Portainer. По умолчанию - ``admin``/ ``LongPassword`` (см. :numref:`authorization_docker`).
.. _authorization_docker:
.. figure:: img/image5-1_lig.png
:align: center
:alt: Авторизация в Portainer
Авторизация в Portainer
3. Чтобы определить и автоматически настроить локальную среду нажмите значок **Get Started** (см. :numref:`Portainer`).
.. _Portainer:
.. figure:: img/image5_lig.png
:align: center
:alt: Окно «Quick Setup»
Окно «Quick Setup»
4. На главной странице нажмите ссылку **local** (см. :numref:`local_link`).
.. _local_link:
.. figure:: img/image6_lig.png
:align: center
:alt: Окно «Home»
Окно «Home»
5. Нажмите значок **Containers** (см. :numref:`Containers`).
.. _Containers:
.. figure:: img/image7_lig.png
:align: center
:alt: Окно «Containers»
Окно «Containers»
6. В разделе *Container list* просмотреть наличие компонентов в дистрибутиве программы (:numref:`table_container_list_lite`):
.. Проверить соответствие компонентов и версий в дистрибутиве программы (документ "Техническое описание")
Состав компонентов в дистрибутиве программы версии 1.12.0 (см. :numref:`table_container_list_lite`).
.. _table_container_list_lite:
.. table:: Состав компонентов в дистрибутиве программы версии 1.12.0
======================= ========== ==============================
Наименование компонента Версия Техническое наименование
======================= ========== ==============================
graylog 4.2.7 graylog:4.2.7
podd-adapter-query 1.12.0 podd-adapter:1.12.0
podd-adapter-mppr 1.12.0 podd-adapter-mppr:1.12.0
podd-adapter-mppw 1.12.0 podd-adapter-mppw:1.12.0
podd-adapter-replicator 1.12.0 podd-adapter-replicator:1.12.0
podd-adapter-group-repl 1.12.0 podd-adapter-group-repl:1.12.0
csv-uploader 1.12.0 csv-uploader:1.12.0
query-execution 6.7.0 query-execution:6.7.0
status-monitor 6.7.0 status-monitor:6.7.0
PostgreSQL 13.4 PostgreSQL:13.4
PG-connector 0.6.0 PG connector:0.6.0
kafka-postgres-writer 0.6.1 kafka-postgres-writer:0.6.1
kafka-postgres-reader 0.6.1 kafka-postgres-reader:0.6.1
======================= ========== ==============================
1. Подключиться к программе по SSH (например, через `Putty `_). Выполнить запрос:
Пример запроса::
curl -X POST -H "Content-Type: application/json" -d '{"requestId": "797de19a-54e2-4c9c-af6e-a9ee312230b5","datamartMnemonic": "base01","sql": "CHECK_VERSIONS()"}' http://0.0.0.0:9090/query/execute
Пример успешного ответа (см. :numref:`image9_link`).
.. _image9_link:
.. figure:: img/image9_lig.png
:align: center
:alt: Проверка подключения к базе данных Prostore
Проверка подключения к базе данных Prostore
8. Подключиться к Grafana.
Для этого следует перейти по адресу: ``http://<имя сервера>:3000`` и
выполнить авторизацию (указаны значения по умолчанию):
- логин: admin;
- пароль: admin.
Проверить, что показатели Healthcheck Leaviness и Readiness (дашборд Lite) работают (индикатор зеленого цвета).
9. Просмотреть лог-файл установки (ansible/ansible.log). Лог-файл не должен содержать записей с ошибками установки.
Обновление программы
====================
Установка обновления происходит путем перезаписи файлов предыдущей версии программы файлами обновления. Все предыдущие настройки программы (адреса серверов, порты и т.д.) останутся без изменений.
Далее приведены рекомендации по проведению обновления программы в зависимости от версии программы.
.. attention:: Перед началом обновления выполните резервное копирование.
Обновление с версии 1.0.0 до версии 1.0.1
-----------------------------------------
.. attention:: Данное обновление предусмотрено только для перехода с версии программы 1.0.0 до версии 1.0.1.
Чтобы обновить программу необходимо выполнить следующие действия (подробная инструкция по обновлению ниже):
#. Выполнить резервное копирование.
#. Скопировать архив с обновлением программы на сервер.
#. Распаковать архив с обновлением.
#. Запустить процесс обновления.
#. Проверить, что обновление прошло успешно.
Резервное копирование
~~~~~~~~~~~~~~~~~~~~~
.. attention:: Действия этого раздела необходимо выполнять под созданной учетной записью ``datamart`` (см. раздел :ref:`datamart_user_lite`).
Для того чтобы выполнить резервное копирование создайте архив текущей версии с указанием актуальной даты копирования.
Например::
tar -czvf dtm-lite-2022-01-17.tgz ansible/ images/ jdbc/ rpms/
Копирование архива с обновлением программы на сервер
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Для загрузки на сервер архива с файлами обновления программы используйте SFTP-клиент (например, WinSCP или Filezilla).
Для авторизации используйте логин и пароль учетной записи администратора ``datamart`` созданной при установке ОС (см. раздел :ref:`datamart_user_lite`).
1. Подключитесь по SSH к серверу (см. раздел :ref:`ssh_connect`), используя логин и пароль учетной записи администратора.
2. Загрузите файл с архивом в домашнюю директорию пользователя ``datamart``
командой::
mv ~/dtm-lite-1.0.1.tgz /home/datamart/
где,
- ``dtm-lite-1.0.1.tgz`` - название архива программы.
- ``datamart`` - имя пользователя.
Распаковка архива с обновлением
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. attention:: Перед тем как выполнить разархивирование рекомендуется просмотреть/скопировать значения переменных (IP-адрес сервера, префикс и т.д.), которые использовались в предыдущей версии программы в файле ``ansible/group_vars/all/main.yml``. После распаковки архива с обновлением программы данные из этого файла будут удалены.
Чтобы распаковать архив, выполните команду::
tar -xzvf dtm-lite-1.0.1.tgz
Процесс обновления программы
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Чтобы запустить процесс обновления программы с помощью Ansible, необходимо выполнить следующие действия:
1. Переименовать файл ``custom.example.yml`` расположенный в папке ``ansible/group_vars/`` в ``custom.yml``. Для этого выполните команду:
::
cp -n ansible/group_vars/custom.example.yml ansible/group_vars/custom.yml
2. В файле ``custom.yml`` указать корректные значения для следующих переменных:
- ``server_ip`` - адреса сервера. Укажите IP-адрес сервера, на который будет установлено обновление программы. Например:
::
server_ip: "172.16.10.59"
- ``server_user_name`` - имя пользователя операционной системы. Укажите имя пользователя операционной системы сервера, под которым устанавливается обновление (см. раздел :ref:`datamart_user_lite`), например:
::
server_user_name: datamart
- ``podd_kafka_topic_prefix`` - префикс перед именем топиков для ПОДД-агента (указывается опционально). Например:
::
podd_kafka_topic_prefix: "user_prefix."
.. attention:: В качестве префикса рекомендуется использовать мнемонику витрины. После определения параметра префикса следует обязательно ставить символ ``.`` (точка)! Пример: ``podd_kafka_topic_prefix: "prod_vitrina98."``
Чтобы запустить процесс обновления программы выполните команду::
docker-ansible-cmd ansible-playbook -i hosts install.yml
Начнется процесс обновления программы (см. рис. ниже):
.. figure:: img/progress_install_lig.png
:align: center
:alt: Обновление программы
Обновление программы
Установка обновления завершена.
После завершения обновления необходимо убедиться, что обновление программы прошло успешно.
Проверка обновления программы до версии 1.0.1
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Для проверки обновления программы необходимо выполнить следующие действия:
1. Убедиться, что после установки обновления нет ошибок в работе программы.
2. Убедиться, что параметр ``failed`` (см. рис. выше) после установки обновления имеет значение - ``0``. Это значит, что все необходимые компоненты программы были обновлены, а необходимые взаимосвязи между ними настроены корректно.
3. Открыть *Portainer* и проверить, что версии компонентов соответствуют указанным
ниже::
csv-uploader:1.0.12
podd-adapter:5.0.7
query-execution:5.2.2
status-monitor:5.2.2
Обновление с версии 1.0.1 до версии выше
----------------------------------------
Чтобы обновить программу необходимо выполнить следующие действия:
#. Выполнить резервное копирование.
#. Скопировать архив с обновлением программы на сервер.
#. Распаковать архив с обновлением.
#. Запустить процесс обновления.
#. Проверить, что обновление прошло успешно.
Резервное копирование
~~~~~~~~~~~~~~~~~~~~~
.. attention:: Действия этого раздела необходимо выполнять под созданной учетной записью ``datamart`` (см. раздел :ref:`datamart_user_lite`).
Для того чтобы выполнить резервное копирование создайте архив текущей версии с указанием актуальной даты копирования.
Например::
tar -czvf dtm-lite-2022-01-17.tgz ansible/ images/ jdbc/ rpms/
Копирование архива с обновлением программы на сервер
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Для загрузки на сервер архива с файлами обновления программы используйте SFTP-клиент (например, WinSCP или Filezilla).
Для авторизации используйте логин и пароль учетной записи администратора ``datamart`` созданной при установке ОС (см. раздел :ref:`datamart_user_lite`).
1. Подключитесь по SSH к серверу (см. раздел :ref:`ssh_connect`), используя логин и пароль учетной записи администратора.
2. Загрузите файл с архивом в домашнюю директорию пользователя ``datamart``
командой::
mv ~/dtm-lite-<номер версии>.tgz /home/datamart/
где,
- ``dtm-lite-<номер версии>.tgz`` - название архива программы.
- ``datamart`` - имя пользователя.
Распаковка архива с обновлением
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Чтобы распаковать архив, выполните команду::
tar -xzvf dtm-lite-<номер версии>.tgz
Процесс обновления программы
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Чтобы запустить процесс обновления программы с помощью Ansible, необходимо выполните команду::
docker-ansible-cmd ansible-playbook -i hosts install.yml
Начнется процесс обновления программы (см. рис. ниже):
.. figure:: img/progress_install_lig.png
:align: center
:alt: Обновление программы
Обновление программы
Установка обновления завершена.
После завершения обновления необходимо убедиться, что обновление программы прошло успешно.
Проверка обновления программы
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Для проверки обновления программы необходимо выполнить следующие действия:
1. Убедиться, что после установки обновления нет ошибок в работе программы.
2. Убедиться, что параметр ``failed`` (см. рис. выше) после установки обновления имеет значение - ``0``. Это значит, что все необходимые компоненты программы были обновлены, а необходимые взаимосвязи между ними настроены корректно.
3. Открыть *Portainer* и проверить, что версии компонентов соответствуют указанным в :numref:`table_container_list_lite`
Приложение
==========
Настройка firewall (Iptables)
-----------------------------
Утилита *iptables* - это межсетевой экран для операционных систем Linux. Настройка iptables производится в командной строке, с помощью правил iptables можно разрешать или блокировать прохождение трафика.
Для выполнения настройки межсетевого экрана необходимо создать конфигурационный файл ``iptables.conf`` в папке *etc/*:
::
/etc/iptables.conf
Далее, необходимо скопировать в файл следующие настройки::
*filter
:INPUT ACCEPT [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
:FILTERS - [0:0]
:DOCKER-USER - [0:0]
-F INPUT
-F DOCKER-USER
-F FILTERS
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp --icmp-type any -j ACCEPT
-A INPUT -j FILTERS
-A DOCKER-USER -o docker0 -j FILTERS
-A FILTERS -m state --state ESTABLISHED,RELATED -j ACCEPT
-A FILTERS -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A FILTERS -m state --state NEW -m tcp -p tcp --dport 3000 -j ACCEPT
-A FILTERS -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A FILTERS -m state --state NEW -m tcp -p tcp --dport 9000 -j ACCEPT
-A FILTERS -j REJECT --reject-with icmp-host-prohibited
COMMIT
1. Выполнить команду
::
iptables-restore -n /etc/iptables.conf
2. Создать файл
::
/etc/systemd/system/iptables.service
3. Сохранить в файл
::
[Unit]
Description=Restore iptables firewall rules
Before=network-pre.target
[Service]
Type=oneshot
ExecStart=/sbin/iptables-restore -n /etc/iptables.conf
[Install]
WantedBy=multi-user.target
4. Включить iptables, для этого выполнить команду
::
sudo systemctl enable --now iptables
или выполнить следующие две команды::
sudo systemctl enable iptables
sudo systemctl start iptables
После обновления правил в файле */etc/iptables.conf*, выполнить следующую команду::
sudo systemctl restart iptables
Просмотр выполнения загрузки данных в программу
-----------------------------------------------
В данном приложении описан порядок проверки загрузки данных в программу, а также необходимые настройки для подключения к базе данных программы.
Настройка подключения к базе данных
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Для подключения к базе данных программы необходимо выполнить следующие
действия:
- получить у системного программиста учетные записи для доступа к базе
данных (название БД, логин и пароль пользователя БД);
- установить и настроить программу DBeaver (менеджер баз данных);
- установить и настроить JDBC-драйвер для работы с базой данных программы;
- выполнить проверку подключения к базе данных.
Установка программы DBeaver
"""""""""""""""""""""""""""
DBeaver — это бесплатное программное обеспечение с открытым исходным
кодом для управления базами данных (БД). Для взаимодействия с
реляционными БД в программе используется программный интерфейс JDBC (через JDBC-драйвер).
С помощью программы DBeaver оператор может выполнить следующие действия:
- настроить доступ и подключится к БД;
- проверить работоспособность БД.
Для установки DBeaver скачайте дистрибутив программы с официального
сайта https://dbeaver.io/download/.
.. attention:: Необходимо выбрать дистрибутив программы для операционной системы, которая установлена на вашем компьютере.
Установка DBeaver для ОС Linux
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(В данном разделе описан процесс установки DBeaver, в операционную систему Linux Ubuntu, версия 20.04).
1. В строке поиска *Ubuntu Software* введите название программы *DBeaver* (см. :numref:`search_DBeaver`).
.. _search_DBeaver:
.. figure:: img/image1_lig.png
:align: center
:alt: Поиск DBeaver
Поиск DBeaver
2. В предложенном списке (см.рис. выше) выберите программу DBeaver.
3. Запустите установку программы, для этого нажмите кнопку *Install* (см. :numref:`install_DBeaver`).
.. _install_DBeaver:
.. figure:: img/image2_lig.png
:align: center
:alt: Установка DBeaver
Установка DBeaver
4. Дождитесь окончания процесса копирования файлов (см. :numref:`file_copy`).
.. _file_copy:
.. figure:: img/image3_lig.png
:align: center
:alt: Процесс копирования файлов программы
Процесс копирования файлов программы
5. После завершения копирования файлов на экране монитора отобразится
окно с сообщением об успешной установке программы (см. :numref:`install_ready`).
.. _install_ready:
.. figure:: img/image4_lig.png
:align: center
:alt: Завершение установки программы
Завершение установки программы
Установка DBeaver для ОС Windows
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1. Запустите установочный файл от имени администратора (см. :numref:`install_admin`).
.. _install_admin:
.. figure:: img/image5_2_lig.png
:align: center
:alt: Запуск установочного файла от имени администратора
Запуск установочного файла от имени администратора
2. В открывшемся окне (см. :numref:`lang`) выберите язык установки:
.. _lang:
.. figure:: img/image6_2_lig.png
:align: center
:alt: Выбор языка установки
Выбор языка установки
3. В окне «Мастер установки DBeaver Community» нажмите кнопку **Далее**
(см. :numref:`master_install`).
.. _master_install:
.. figure:: img/image7_2_lig.png
:align: center
:alt: Окно «Мастер установки DBeaver Community»
Окно «Мастер установки DBeaver Community»
4. В открывшемся окне «Лицензионное соглашение» нажмите кнопку
**Принимаю** (см. :numref:`lisence`).
.. _lisence:
.. figure:: img/image8_2_lig.png
:align: center
:alt: Лицензионное соглашение
Лицензионное соглашение
5. В окне «Выбор пользователя» выберите пользователей компьютера,
которым будет доступна программа и нажмите кнопку **Далее** (см. :numref:`select_user_lite`).
.. _select_user_lite:
.. figure:: img/image9_2_lig.png
:align: center
:alt: Выбор пользователя
Выбор пользователя
6. В окне «Компоненты устанавливаемой программы» выберите компоненты
программы, которые требуется установить (см. :numref:`select_component`) и нажмите кнопку
**Далее**.
.. _select_component:
.. figure:: img/image10_lig.png
:align: center
:alt: Выбор компонентов программы для установки
Выбор компонентов программы для установки
7. В открывшемся окне «Выбор папки установки» вы можете выбрать папку
установки или оставить путь к папке установки по умолчанию. Чтобы
изменить папку установки нажмите кнопку **Обзор** и выберите требуемую
папку. Для продолжения установки нажмите кнопку **Далее** (см. :numref:`select_folder`).
.. _select_folder:
.. figure:: img/image11_lig.png
:align: center
:alt: Выбор папки установки
Выбор папки установки
8. В окне «Папка в меню «Пуск» выберите папку, в которую
будет помещен ярлык программы или установите маркер в поле «Не
создавать ярлыки», в этом случае ярлык программы не будет создан
(см. :numref:`select_folder_start`). Нажмите кнопку **Установить** для продолжения процесса
установки.
.. _select_folder_start:
.. figure:: img/image12_lig.png
:align: center
:alt: Выбор папки в меню «Пуск»
Выбор папки в меню «Пуск»
9. В окне «Копирование файлов» будет отображен процесс копирования установочных файлов программы (см. :numref:`soft_copy`).
.. _soft_copy:
.. figure:: img/image13_lig.png
:align: center
:alt: Копирование файлов программы
Копирование файлов программы
10. Дождитесь окончания процесса копирования файлов. После завершения
процесса установки на экране монитора отобразится окно «Завершение
работы мастера установки» (см. :numref:`master_end`). Нажмите кнопку **Готово**.
.. _master_end:
.. figure:: img/image14_lig.png
:align: center
:alt: Завершение работы мастера установки
Завершение работы мастера установки
Установка и настройка JDBC-драйвера
"""""""""""""""""""""""""""""""""""
Для дальнейшей работы c программой оператору необходимо настроить подключение к базам данных программы. Для этого
необходимо установить и настроить JDBC-драйвер.
Дистрибутив с актуальной версией JDBC-драйвер находится в установочном пакете с программой.
Установка и настройка JDBC-драйвера для ОС Windows
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Чтобы установить JDBC-драйвер и настроить подключение к базам данных в
программе Dbeaver, работающей под операционной системой Windows,
выполните следующие действия:
1. Откройте программу Dbeaver.
2. В главном меню программы выберите «Базы данных» и нажмите пункт
**Управление драйверами** (см. :numref:`drivers`).
.. _drivers:
.. figure:: img/image15_lig.png
:align: center
:alt: Управление драйверами
Управление драйверами
3. В открывшемся окне «Менеджер драйверов» нажмите кнопку **Новый**
(см. :numref:`driver_manager`).
.. _driver_manager:
.. figure:: img/image16_lig.png
:align: center
:alt: Окно «Менеджер драйверов»
Окно «Менеджер драйверов»
4. В открывшемся окне «Создать драйвер» (см. :numref:`driver_create`) заполните следующую информацию:
- Имя драйвера: ``DtmDriver``;
- Имя класса: ``ru.datamart.prostore.jdbc.Driver``;
- Шаблон URL: ``jdbc:prostore://{host}:{port}``.
.. _driver_create:
.. figure:: img/image17_lig.png
:align: center
:alt: Окно «Создать драйвер»
Окно «Создать драйвер»
5. Установите маркер в поле «Без авторизации» и «Пустой пароль».
6. Перейдите на вкладку **Библиотека** (см. :numref:`library`), нажмите кнопку **Добавить файл** и укажите путь к jar-файлу JDBC-драйвера.
.. _library:
.. figure:: img/image17_1_lig.png
:align: center
:alt: Вкладка «Библиотека»
Вкладка «Библиотека»
7. Нажмите кнопку «Ок».
8. Проверьте, что драйвер был добавлен в программу. Для этого откройте окно «Менеджер драйверов» (*База данных > Управление драйверами*) и в поисковой строке введите название драйвера – ``DtmDriver`` (см. :numref:`dtmDriver`).
.. _dtmDriver:
.. figure:: img/image18_lig.png
:align: center
:alt: Поиск DtmDriver в Менеджере драйверов
Поиск DtmDriver в Менеджере драйверов
Подключение к базе данных
^^^^^^^^^^^^^^^^^^^^^^^^^
Для подключения к базам данных через JDBC-драйвер, выполните следующие действия:
1. Откройте Dbeaver.
2. В главном меню программы выберите пункт *База данных > Новое соединение*.
3. В окне «Создать соединение» в поисковой строке введите ``dtmdriver`` (см. :numref:`new_connect_lite`).
.. _new_connect_lite:
.. figure:: img/image19_lig.png
:align: center
:alt: Установка нового соединения с базой данных
Установка нового соединения с базой данных
4. Выберите DtmDriver и нажмите кнопку **Далее**
В окне «Настройка соединения» (см. :numref:`set_connect`) заполните следующие поля:
- ``Хост`` - DNS-name или IP адрес сервера базы данных. Например, ``172.16.0.17``.
- ``Порт`` - порт для сервера базы данных, например, ``9090``.
В результате выполненных действий, в поле ``JDBC URL`` будет отображено следующее значение ``jdbc:prostore://172.16.0.17:9090`` (см. рис. ниже).
.. _set_connect:
.. figure:: img/image20_lig.png
:align: center
:alt: Настройка соединения
Настройка соединения
5. Нажмите кнопку **Тест соединения** для проверки подключения.
В случае успешного подключение отобразится сообщение о корректном подключении (см. :numref:`success_connect`).
.. _success_connect:
.. figure:: img/image21_lig.png
:align: center
:alt: Сообщение об успешном подключении к БД
Сообщение об успешном подключении к БД
6. Закройте окно проверки соединения, для этого нажмите кнопку **ОК**.
7. В окне «Настройка базового соединения» нажмите кнопку **Готово**.
Установка и настройка драйвера JDBC-драйвер для ОС Linux
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(В данном разделе описан процесс установки драйвера в Dbeaver,
работающий под управлением операционной системы Linux Ubuntu, версия
20.04).
Чтобы установить драйвер и настроить подключение к базам данных,
выполните следующие действия:
1. Откройте программу Dbeaver.
2. В главном меню программы выберите «Database» и нажмите пункт **Driver Manager** (см. :numref:`driver_manager_linux`).
.. _driver_manager_linux:
.. figure:: img/image22_lig.png
:align: center
:alt: Управление драйверами
Управление драйверами
3. В открывшемся окне «Driver Manager» нажмите кнопку **New** (см. :numref:`new_driver`).
.. _new_driver:
.. figure:: img/image23_lig.png
:align: center
:alt: Окно «Driver Manager»
Окно «Driver Manager»
4. В открывшемся окне «Create new driver» (см. :numref:`new_driver_create`) заполните следующую информацию:
- Driver Name: ``DtmDriver``;
- Class Name: ``ru.datamart.prostore.jdbc.Driver``;
- URL Template: ``jdbc:prostore://{host}:{port}``.
.. _new_driver_create:
.. figure:: img/image24_lig.png
:align: center
:alt: Окно «Create new driver»
Окно «Create new driver»
5. Установите маркер в поле «No authentication» и «Allow Empty Password».
6. Во вкладке «Libraries» укажите путь к jar-файлу с JDBC-драйвер.
7. Нажмите кнопку **Ок**.
8. Проверьте, что драйвер был добавлен в программу. Для этого в окне «Driver Manager» в поисковой строке введите название драйвера – DtmDriver (см. :numref:`driver_search`).
.. _driver_search:
.. figure:: img/image25_lig.png
:align: center
:alt: Окно «Поиск DtmDriver в Driver Manager»
Окно «Поиск DtmDriver в Driver Manager»
Подключение к базе данных
^^^^^^^^^^^^^^^^^^^^^^^^^
Для подключения к базам данных через JDBC-драйвер, выполните
следующие действия:
1. Откройте программу Dbeaver.
2. В главном меню программы выберите пункт *Database > Connect to a Database*.
3. В окне «Connect to a Database» в поисковой строке введите ``dtmdriver`` (см. :numref:`driver_search_new`).
.. _driver_search_new:
.. figure:: img/image26_lig.png
:align: center
:alt: Поиск DtmDriver при создании нового подключения
Окно Поиск DtmDriver при создании нового подключения
4. Выберите DtmDriver (см. :numref:`driver_select`).
.. _driver_select:
.. figure:: img/image27_lig.png
:align: center
:alt: Установка нового соединения с базой данных
Установка нового соединения с базой данных
5. В окне «Connection Settings» (см. :numref:`connection_set`) заполните следующие поля:
- ``Хост`` - DNS-name или IP адрес сервера базы данных. Например, ``172.16.0.17``.
- ``Порт`` - порт для сервера базы данных, например, ``9090``.
.. _connection_set:
.. figure:: img/image28_lig.png
:align: center
:alt: Настройка базового подключения
Настройка базового подключения
6. Нажмите кнопку «Connection test» для проверки подключения.
7. В случае успешного подключение отобразится сообщение об успешном подключении (см. :numref:`connection_test`).
.. _connection_test:
.. figure:: img/image29_lig.png
:align: center
:alt: Сообщение об успешном подключении к БД
Сообщение об успешном подключении к БД
8. Нажмите кнопку **Ok**
Проверка загрузки данных в БД
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Данная проверка описывает возможность загрузки данных и проверку того, что данные были загружены. Для проверки загрузки данных следует выполнить следующие действия:
- создать в программе тестовую базу данных ``test_upload_data`` с тремя таблицами: ``Passenger``, ``Ticket`` и ``Trip``;
- проверить, что записи в таблицах отсутствуют;
- загрузить через *CSV-uploader* в таблицы ``Ticket`` и ``Trip`` тестовые данные;
- проверить, что данные в таблицы ``Ticket`` и ``Trip`` были загружены, а в таблице ``Passenger`` записи отсутствуют.
.. attention:: Проверку загрузки данных следует проводить на тестовом стенде.
.. attention:: В случае использования VPN следует проверить его настройки и подключение.
Создание тестовой БД
""""""""""""""""""""
1. Откройте программу **Dbeaver**, установите подключение к БД программы и проверьте, что логическая БД ``test_upload_data`` отсутствует, для этого выполните следующий sql-запрос:
.. code-block:: sql
SELECT *
FROM INFORMATION_SCHEMA.schemata
WHERE schema_name = UPPER('test_upload_data');
2. Убедитесь, что БД отсутствует (см. :numref:`test_upload_data`).
.. _test_upload_data:
.. figure:: img/test_upload_data_1_lig.png
:align: center
:alt: Проверка БД *test_upload_data*: База данных отсутствует
Проверка БД *test_upload_data*: База данных отсутствует
3. Подготовьте XML-файл (``MetadataRequest_test_upload_data.xml``) со следующим содержанием:
.. code-block:: xml
00000000-0000-0000-0000-000000000001
1806436d-437a-400d-b32e-aa15c1a2d4bc
test_upload_data
test_upload_data
c52f062e-af97-4a44-a33f-d1a94024d0cf
1
0
2021-01-01T00:00:00
4c4ff97b-938b-4db6-9f4d-ae21046e4d20
Passenger
Passenger
6fe29bdb-7db1-405a-a05c-b49c541c92bd
Code
Code
LONG
e590e7b3-b611-4891-bbd1-a5e256105e73
Id
Id
STRING
c97a8102-6ad0-4dbd-934d-c82b83a4d83f
FirstName
FirstName
STRING
36
d2312bfb-7ec0-4c95-9026-0f6dea48c5d9
MiddleName
MiddleName
STRING
7b63db89-bd0e-4c92-8bc0-e609175937b9
LastName
LastName
STRING
8f3e7f95-f66b-4d4a-b2eb-55a3e6134c3e
Birthday
Birthday
DATE
e3658240-b405-4838-99af-d32cd063c463
Passport
Passport
STRING
6fe29bdb-7db1-405a-a05c-b49c541c92bd
Code
Code
00000000-0000-0000-0000-000000000001
LONG
cafe41db-3878-4796-ba60-cbd54f042c63
Ticket
Ticket
bc90563b-168a-4faa-9394-7b7390dd0d92
Id
Id
STRING
ac93618f-752b-44d5-a77c-23a3c9eb069b
PassengerId
PassengerId
STRING
51355519-2d59-426e-b199-9589930acaaa
TripId
TripId
STRING
fe92c245-929e-4684-b9c9-22bda6939c09
Number
Number
LONG
4a32ded4-c970-4874-b0b1-2e3eed8b6483
ByCard
ByCard
BOOLEAN
35f59c80-fcc3-483c-9cd3-dc3afb606d66
Price
Price
DOUBLE
8b46ff55-6853-458c-851d-6e1666da918b
Sold
Sold
TIMESTAMP
fe92c245-929e-4684-b9c9-22bda6939c09
Number
Number
00000000-0000-0000-0000-000000000001
LONG
76268090-60ee-4960-8268-1b91f4186e87
Trip
Trip
bd173e24-ea7e-4869-9d43-9f57f5b0a82f
Id
Id
STRING
1ed32816-8bdb-4d35-9f66-8c08df13ad28
Number
Number
INTEGER
78f587fa-b53e-4912-b631-0c4a249d20b6
Duration
Duration
STRING
1750c564-20a7-4e07-988a-b382227123e4
Length
Length
FLOAT
1ed32816-8bdb-4d35-9f66-8c08df13ad28
Number
Number
00000000-0000-0000-0000-000000000002
INTEGER
3. Откройте web-интерфейс *CSV-uploader*.
4. Во вкладке «Загрузка структуры», в поле выбора файла ``XML`` для загрузки в Витрину выберите XML-файл (``MetadataRequest_test_upload_data.xml``) созданный в п.2.
5. Нажмите кнопку «Загрузить» (см. :numref:`xml_load`).
.. _xml_load:
.. figure:: img/test_upload_data_2_lig.png
:align: center
:alt: Загрузка XML-файла со структурой витрины
Загрузка XML-файла со структурой витрины
6. В случае успешной загрузки, отобразится сообщение «Структура витрины успешно создана» (см. :numref:`structure_create`).
.. _structure_create:
.. figure:: img/test_upload_data_3_lig.png
:align: center
:alt: Сообщение «Структура витрины успешно создана»
Сообщение «Структура витрины успешно создана»
7. Откройте программу **Dbeaver**, установите подключение к БД программы и проверьте, что логическая БД ``test_upload_data`` создана, для этого выполните запрос:
.. code-block:: sql
SELECT *
FROM INFORMATION_SCHEMA.schemata
WHERE schema_name = UPPER('test_upload_data');
SQL-запрос вернул одну строку, в которой поле **SCHEMA_NAME** имеет значение ``TEST_UPLOAD_DATA`` (см. :numref:`test_upload_data_4`).
.. _test_upload_data_4:
.. figure:: img/test_upload_data_4_lig.png
:align: center
:alt: Проверка БД *test_upload_data*: База данных создана
Проверка БД *test_upload_data*: База данных создана
8. Убедитесь, что в созданной БД существуют таблицы: ``Passenger``, ``Ticket`` и ``Trip``. Для этого выполните запрос к БД:
.. code-block:: sql
SELECT *
FROM INFORMATION_SCHEMA.tables
WHERE table_schema = UPPER('test_upload_data');
SQL-запрос вернул записи о созданных логических таблицах (см. :numref:`test_upload_data_5`).
.. _test_upload_data_5:
.. figure:: img/test_upload_data_5_lig.png
:align: center
:alt: Проверка таблиц БД
Проверка таблиц БД
9. Проверьте количество записей в таблицах: ``Passenger``, ``Ticket`` и ``Trip``. Для этого выполните запрос к БД:
.. code-block:: sql
SELECT COUNT(*) FROM test_upload_data.passenger;
SELECT COUNT(*) FROM test_upload_data.ticket;
SELECT COUNT(*) FROM test_upload_data.trip;
SQL-запрос вернул нулевое значении (см. :numref:`test_upload_data_6`). Это значит, что записи в таблицах отсутствуют.
.. _test_upload_data_6:
.. figure:: img/test_upload_data_6_lig.png
:align: center
:alt: Проверка таблиц БД
Проверка таблиц БД
Загрузка данных
"""""""""""""""
1. Скачайте CSV-файлы (``tickets.csv``, ``trips.csv``).
2. Откройте web-интерфейс *CSV-uploader* и перейдите на вкладку **Загрузка**.
3. Выберите режим «Вставка».
4. Установите переключатель в режим **Автоматическое определение таблицы**.
5. В поле **CSV** выберите CSV-файлы (``tickets.csv`` и ``trips.csv``) для загрузки в БД (см. :numref:`test_upload_data_7`).
.. _test_upload_data_7:
.. figure:: img/test_upload_data_7_lig.png
:align: center
:alt: Загрузка данных из CSV-файла
Загрузка данных из CSV-файла
6. Отобразится сообщение **Отправка запроса на загрузку...** (см. :numref:`test_upload_data_8`).
.. _test_upload_data_8:
.. figure:: img/test_upload_data_8_lig.png
:align: center
:alt: Отправка запроса на загрузку
Отправка запроса на загрузку
В случае успешной загрузки файла отобразится сообщение **Операция выполнена успешно** (см. :numref:`test_upload_data_9`).
.. _test_upload_data_9:
.. figure:: img/test_upload_data_9_lig.png
:align: center
:alt: Сообщение «Операция выполнена успешно»
Сообщение «Операция выполнена успешно»
7. Выполните проверку загрузки данных. Для этого последовательно выполните следующие запросы к БД:
Проверка таблицы ``passenger``
.. code-block:: sql
SELECT COUNT(*) FROM test_upload_data.passenger;
SQL-запрос вернул нулевое значении т.к загрузки данных в эту таблицу не было (см. :numref:`test_upload_data_10`).
.. _test_upload_data_10:
.. figure:: img/test_upload_data_10_lig.png
:align: center
:alt: Проверка таблицы *passenger*
Проверка таблицы *passenger*
Проверка таблицы ``ticket``
.. code-block:: sql
SELECT COUNT(*) FROM test_upload_data.ticket;
SQL-запрос вернул значение ``5000`` (см. :numref:`test_upload_data_11`).
.. _test_upload_data_11:
.. figure:: img/test_upload_data_11_lig.png
:align: center
:alt: Проверка таблицы *ticket*
Проверка таблицы *ticket*
Проверка таблицы ``trip``
.. code-block:: sql
SELECT COUNT(*) FROM test_upload_data.trip;
SQL-запрос вернул значение ``500`` (см. :numref:`test_upload_data_12`).
.. _test_upload_data_12:
.. figure:: img/test_upload_data_12_lig.png
:align: center
:alt: Проверка таблицы *trip*
Проверка таблицы *trip*
С дополнительной информацией по работе с программой *Dbeaver* (настройка, выполнение запросов, просмотр таблиц и т.д.) можно ознакомиться на официальном сайте разработчика программы https://dbeaver.io/.