.. _system_check: Проверка Компонента ================== Проверка Компонента «Витрина данных» конфигурации Стандарт ------------------------------------------------------------- Процесс установки Компонента описан в разделе :ref:`install_guide_standart`. Проверка Arenadata Cluster Manager (ADCM) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. attention:: Arenadata Cluster Manager (ADCM) устанавливается только на РЕД ОС 7.2 Arenadata Cluster Manager (ADCM), при успешной установке, должен быть доступен по адресу ``http://:8000``. Для авторизации используйте следующие данные: - логин: ``admin``; - пароль: ``admin``. Проверка ПО Prostore ~~~~~~~~~~~~~~~~~~~~~~ Проверка ПО Prostore осуществляется путём отправки SQL-запросов к Prostore через клиентское JDBC-подключение и сопоставления ожидаемого эталонного и полученного результатов. Проверка осуществляется согласно следующим этапам: 1. Создать Витрину в Prostore с помощью SQL-запроса: .. code-block:: sql CREATE DATABASE <имя несуществующей логической базы>, например, CREATE DATABASE testdb; 2. Создать таблицу в Prostore со всеми типами колонок с помощью SQL-запроса: .. code-block:: sql CREATE TABLE <имя логической базы из п.1>.all_types ( - id int not null, - double_col double, - float_col float, - char_col varchar(36), - boolean_col boolean, - int_col int not null, - bigint_col bigint, - date_col date, - timestamp_col timestamp, - primary key (id) - ) - distributed by (id) 3. Проверить существование и структуру созданной таблицы в Prostore с помощью SQL-запросов: .. code-block:: sql select \* from <имя логической базы из п.1>.all_types DATASOURCE_TYPE='ADG' select \* from <имя логической базы из п.1>.all_types DATASOURCE_TYPE='ADQM' select \* from <имя логической базы из п.1>.all_types DATASOURCE_TYPE='ADB' 4. Удалить таблицу со всеми типами колонок из Prostore с помощью SQL-запроса: .. code-block:: sql DROP TABLE <имя логической базы из п.1>.all_types 5. Удалить Витрину с помощью SQL-запроса: .. code-block:: sql DROP DATABASE <имя логической базы из п.1>. .. attention:: Наличие сообщений об ошибках, а также отличие получаемых состояний Prostore на различных этапах проверки от ожидаемых состояний является индикатором неуспешного прохождения проверки. Проверка СМЭВ QL Сервера ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. Подключаем файл с проверкой СМЭВ QL Сервера .. include:: ../../modules/smev-ql/doc/smev_ql_check.rst Проверка СМЭВ3-адаптера ~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. Подключаем файл с проверкой СМЭВ-адаптер .. include:: ../../modules/smev3-adapter/doc/smev3_adapter_check.rst Проверка DATA-Uploder – Модуля исполнения асинхронных заданий ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. Подключаем файл с проверкой Data-uploder – Модуль исполнения асинхронных заданий .. include:: ../../modules/data-uploader/doc/data_uploader_check.rst Проверка REST-Uploader – Модуля асинхронной загрузки данных из сторонних источников ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. Подключаем файл с проверкой REST-uploader – Модуль асинхронной загрузки данных из сторонних источников .. include:: ../../modules/rest-uploader/doc/rest_uploader_check.rst Проверка BLOB-адаптера ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. Подключаем файл с проверкой BLOB-адаптер .. include:: ../../modules/blob-adapter/doc/blob_adapter_check.rst Проверка Сервиса формирования документов ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. Подключаем файл с проверкой Сервис формирования документов .. include:: ../../modules/printable-form-service/doc/printable_form_service_check.rst .. Проверка CSV-Uploader .. ---------------------------------------- .. Подключаем файл с проверкой CSV-Uploader .. .. include:: ../../modules/csv-uploader/doc/csv_uploader_check installation.rst Проверка ETL ~~~~~~~~~~~~~~~~~~~~~~~ .. Подключаем файл с проверкой ETL .. include:: ../../modules/etl/doc/etl_check.rst Проверка Apache Airflow ^^^^^^^^^^^^^^^^^^^^^^^^^ Проверка сервиса Apache Airflow осуществляется через графический пользовательский интерфейс, в случае успешной установки, он должен быть доступен по адресу ``http://localhost:8080``. Для авторизации используйте следующие данные: - логин: ``airflow``; - пароль: ``airflow``. Также, можно проверить удалённое подключение с помощью http-запроса, для этого выполните следующую команду .. code-block:: bash ENDPOINT_URL="http://localhost:8080/" curl -X GET \\ --user "airflow:airflow" \\ "${ENDPOINT_URL}/api/v1/pools" Проверка Apache Spark ^^^^^^^^^^^^^^^^^^^^^^^^^^ Проверка сервиса Apache Spark осуществляется через графический пользовательский интерфейс, в случае успешной установки, он должен быть доступен по адресу: Веб-сервер Spark Master доступен по адресу .. code-block:: bash http://<ваш ip-адрес>:8080 например http://localhost:8080/ Веб-сервер Spark Worker 1 доступен по адресу .. code-block:: bash http://<ваш ip-адрес>:8081 например http://localhost:8081/ Проверка Apache Hadoop ^^^^^^^^^^^^^^^^^^^^^^^^^^ Проверить корректность работы Apache Hadoop можно командой: .. code-block:: bash make wordcount или последовательно выполнить следующие команды: .. code-block:: bash docker build -t hadoop-wordcount ./submit docker run --network docker-hadoop_default --env-file hadoop.env bde2020/hadoop-base:master hdfs dfs -mkdir -p /input/ docker run --network docker-hadoop_default --env-file hadoop.env bde2020/hadoop-base:master hdfs dfs -copyFromLocal -f /opt/hadoop-3.2.1/README.txt /input/ docker run --network docker-hadoop_default --env-file hadoop.env hadoop-wordcount docker run --network docker-hadoop_default --env-file hadoop.env bde2020/hadoop-base:master hdfs dfs -cat /output/\* docker run --network docker-hadoop_default --env-file hadoop.env bde2020/hadoop-base:master hdfs dfs -rm -r /output docker run --network docker-hadoop_default --env-file hadoop.env bde2020/hadoop-base:master hdfs dfs -rm -r /input После запуска **Apache Hadoop** можно зайти в следующие WEB–интерфейсы: .. code-block:: bash Namenode: http://:9870/dfshealth.html#tab-overview History server: http://:8188/applicationhistory Datanode: http://:9864/ Nodemanager: http://:8042/node Resource manager: http://:8088/ Проверка Tarantool(Vinyl) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Проверка СУБД Tarantool осуществляется согласно документации на СУБД Tarantool: https://www.tarantool.io/en/doc/latest/book/monitoring/ . Проверка Counter-provider - Сервиса генерации уникального номера ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. Подключаем файл с проверкой Сервиса генерации уникального номера .. include:: ../../modules/counter-provider/doc/counter_provider_check.rst Проверка Компонента «Витрина данных» конфигурации Лайт -------------------------------------------------------- .. _check_install_prostore: Процесс установки Компонента описан в разделе :ref:`install_guide_lite`. Для проверки установки Компонента следует выполнить следующие действия: 1. Открыть в браузере web-интерфейс Portainer для управления docker-контейнерами по адресу ``IP:9000``, где - ``IP`` - адрес сервера. - ``9000`` - порт сервера. 2. Введите логин и пароль администратора Portainer. По умолчанию - ``admin``/ ``LongPassword`` (см. :numref:`img_authorization_docker`). .. _img_authorization_docker: .. figure:: img/image5-1_lig.png :align: center :alt: Авторизация в Portainer Авторизация в Portainer 3. Чтобы определить и автоматически настроить локальную среду нажмите значок **Get Started** (см. :numref:`img_Portainer`). .. _img_Portainer: .. figure:: img/image5_lig.png :align: center :alt: Окно «Quick Setup» Окно «Quick Setup» 4. На главной странице нажмите ссылку **local** (см. :numref:`img_local_link`). .. _img_local_link: .. figure:: img/image6_lig.png :align: center :alt: Окно «Home» Окно «Home» 5. Нажмите значок **Containers** (см. :numref:`img_Containers`). .. _img_Containers: .. figure:: img/image7_lig.png :align: center :alt: Окно «Containers» Окно «Containers» 6. В разделе **Container list** сверьте наличие компонентов со списком компонентов дистрибутива Компонента, приведенных в :ref:`distr_components` документа «Техническое описание Компонента «Витрина данных»». 7. Подключитесь к Компоненту по SSH (например, через `Putty `_). Выполните запрос, согласно приведенному примеру ниже. Пример запроса .. code-block:: bash 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:: Перед обновлением Компонента необходимо выполнить перенос системных данных (Серисной БД) из Zookeeper в Postgres-совместимые СУБД для обновления кластера Prostore с версии 6.* на версию 7.* согласно `инструкции `_ Обновление Компонента «Витрина данных» конфигурации Стандарт -------------------------------------------------------------- Для обновления версии Компонента «Витрина данных» нужно обновить файлы модулей, полученные в дистрибутиве новой версии Компонента. Все настройки Компонента (адреса серверов, порты и т.д.) останутся без изменений. Обновление Компонента «Витрина данных» конфигурации Лайт ----------------------------------------------------------- .. attention:: Перед началом обновления выполните резервное копирование! Обновление с версии 1.0.0 до версии 1.0.1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. attention:: Данное обновление предусмотрено только для перехода с версии Компонента 1.0.0 до версии 1.0.1. Чтобы обновить Компонент необходимо выполнить следующие действия (подробная инструкция по обновлению ниже): #. Выполнить резервное копирование. #. Скопировать архив с обновлением Компонента на сервер. #. Распаковать архив с обновлением. #. Запустить процесс обновления. #. Проверить, что обновление прошло успешно. Резервное копирование ^^^^^^^^^^^^^^^^^^^^^^^^^^ .. attention:: Действия этого раздела необходимо выполнять под созданной учетной записью **datamart** (см. раздел :ref:`datamart_user_lite`). Для того чтобы выполнить резервное копирование создайте архив текущей версии с указанием актуальной даты копирования. Например: .. code-block:: bash 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** командой: .. code-block:: bash 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 - ``agentTopicPrefix`` - префикс перед именем топиков для СМЭВ4-агента (указывается опционально). Например: :: agentTopicPrefix: "user_prefix." .. attention:: В качестве префикса рекомендуется использовать мнемонику витрины. После определения параметра префикса следует обязательно ставить символ ``.`` (точка)! Пример: ``agentTopicPrefix: "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 Обновление с версии 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** и проверить, что версии компонентов соответствуют указанным модулям для конфигурации Лайт.