.. _system_start_stop: Запуск и остановка Программы ============================ Программа не имеет графического интерфейса и запускается автоматически после запуска сервера. Все компоненты Программы оформлены в виде системных служб, имеют отдельные файлы конфигурации, автоматически запускаются при старте сервера и автоматически останавливаются при его выключении. При необходимости любой из сервисов/модулей можно остановить и перезапустить. Данный раздел содержит описание запуска и остановки модулей ручным способом. Prostore -------- Запуск ~~~~~~ Процесс запуска Prostore приведен в документации сервиса: https://prostore.datamart.ru/docs_prostore/maintenance/maintenance.html. СМЭВ QL Сервер -------------- Описание настроек модуля приведено в разделе :ref:`software_settings`. .. Подключаем файл с запуском СМЭВ QL Сервер .. include:: ../../modules/smev-ql/doc/smev_ql_start.rst СМЭВ3-адаптер ------------- .. Подключаем файл с запуском СМЭВ3-адаптер .. include:: ../../modules/smev3-adapter/doc/smev3_adapter_start.rst CSV-Uploader ------------- Описание настроек модуля приведено в разделе :ref:`software_settings`. .. Подключаем файл с запуском CSV-Uploader .. include:: ../../modules/csv-uploader/doc/csv_uploader_start.rst ПОДД-адаптера - Модуль исполнения запросов ------------------------------------------ Описание настроек модуля приведено в разделе :ref:`software_settings`. .. Подключаем файл с запуском ПОДД-адаптер - Модуль исполнения запросов .. include:: ../../modules/podd-adapter-query/doc/podd_adapter_query_start.rst ПОДД-адаптер – Модуль MPPR -------------------------- Описание настроек модуля приведено в разделе :ref:`software_settings`. .. Подключаем файл с запуском ПОДД-адаптер – Модуль MPPR .. include:: ../../modules/podd-adapter-mppr/doc/podd_adapter_mppr_start.rst ПОДД-адаптер-Модуль MPPW ------------------------ Описание настроек модуля приведено в разделе :ref:`software_settings`. .. Подключаем файл с запуском ПОДД-адаптер-Модуль MPPW .. include:: ../../modules/podd-adapter-mppw/doc/podd_adapter_mppw_start.rst ПОДД-адаптер – Модуль импорта данных табличных параметров --------------------------------------------------------- Описание настроек модуля приведено в разделе :ref:`software_settings`. .. Подключаем файл с запуском ПОДД-адаптер – Модуль импорта данных табличных параметров .. include:: ../../modules/podd-adapter-import-tp/doc/podd_adapter_import_tp_start.rst ПОДД-адаптер – Модуль группировки данных табличных параметров ------------------------------------------------------------- Описание настроек модуля приведено в разделе :ref:`software_settings`. .. Подключаем файл с запуском ПОДД-адаптер – Модуль группировки данных табличных параметров .. include:: ../../modules/podd-adapter-group-tp/doc/podd_adapter_group_tp_start.rst ПОДД-адаптер – ПОДД-адаптер – Wrapper ------------------------------------- Описание настроек модуля приведено в разделе :ref:`software_settings`. .. Подключаем файл с запуском ПОДД-адаптер – Wrapper .. include:: ../../modules/podd-avro-defragmentator/doc/podd_avro_defragmentator_start.rst DATA-uploader – Модуль исполнения асинхронных заданий ----------------------------------------------------- Описание настроек модуля приведено в разделе :ref:`software_settings`. .. Подключаем файл с запуском Data-uploader – Модуль исполнения асинхронных заданий .. include:: ../../modules/data-uploader/doc/data_uploader_start.rst REST-uploader – Модуль асинхронной загрузки данных из сторонних источников -------------------------------------------------------------------------- Описание настроек модуля приведено в разделе :ref:`software_settings`. .. Подключаем файл с запуском REST-uploader – Модуль асинхронной загрузки данных из сторонних источников .. include:: ../../modules/rest-uploader/doc/rest_uploader_start.rst Добавление поставщика данных ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Для добавления поставщика данных должен генерироваться токен авторизации, который передается поставщику. Генерация токена осуществляется по следующим шагам: 1. Открыть web-страницу https://jwt.io/ 2. Выбрать алгоритм HS256; 3. Ввести в payload следующие поля: .. code-block:: { "sub": "1234567890", "iss": "John Doe" } где: - sub - идентификатор поставщика данных, для которого сформирован токен; - iss - кем сформирован токен. Подпись токена формируется методом получения хеш-функции SHA-256 с секретом. Для этого нужно в ``verify signature`` в поле ``your-256-bit-secret`` ввести значение из ``test-secret`` настроек сервиса :term:`REST-uploader`. Для добавления идентификатора поставщика данных в Базу данных Redis необходимо в структуре ``set``, содержащую идентификаторы поставщика данных, выполнить операцию SADD: .. code-block:: SADD ids ProviderID где: - ids - ключ, по которому осуществляется доступ к набору элементов; - ProviderID - идентификатор поставщика данных. В случае, когда ожидание ответа на запрос превысило указанное количество времени, необходимо сделать повторный запрос. В случае возникновения ошибок при обработке файлов сотрудникам, загружаюмщим данные необходимо изучить возврат REST-uploader. Если ошибка внутренняя, то нужно обратиться к администратору Витрины. Администратор изучит логи REST-uploader / Data-uploader. ПОДД-адаптер-Модуль подписки ---------------------------- Описание настроек модуля приведено в "Руководстве администратора". .. Подключаем файл с запуском ПОДД-адаптер-Модуль подписки .. include:: ../../modules/podd-adapter-replicator/doc/podd_adapter_replicator_start.rst BLOB-адаптер ------------ Описание настроек модуля приведено в "Руководстве администратора". .. Подключаем файл с запуском BLOB-адаптер .. include:: ../../modules/blob-adapter/doc/blob_adapter_start.rst Сервис формирования документов ------------------------------ Описание настроек модуля приведено в "Руководстве администратора". .. Подключаем файл с запуском Сервис формирования документов .. include:: ../../modules/printable-form-service/doc/printable_form_service_start.rst ETL --- Apache Airflow ~~~~~~~~~~~~~~ **Apache Airflow** представляет собой набор контейнеров, управляемых **Docker**. Ниже приведено описание запуска и остановки **Apache Airflow**. Запуск ^^^^^^^^^^ Для запуска **Apache Airflow** нужно перейти в директорию с файлом ``docker-compose.yml``, созданным при установке **Apache Airflow**. Например:: cd ~/ Выполните команду:: docker-compose start Остановка ^^^^^^^^^^^^^ Для остановки **Apache Airflow** нужно перейти в директорию с файлом ``docker-compose.yml``, созданным при установке **Apache Airflow**. В папке, где расположен файл ``docker-compose.yaml`` выполните команду:: docker-compose stop Apache Spark ~~~~~~~~~~~~ **Apache Spark** представляет собой контейнер, управляемый **Docker**. Ниже приведено описание запуска и остановки **Apache Spark**. Запуск ^^^^^^^^^^^ Для запуска **Apache Spark** нужно перейти в директорию с файлом ``docker-compose.yml``, созданным при установке **Apache Spark**. Например:: cd ~/ Выполните команду:: docker-compose start Для запуска отдельно мастера и воркера **Apache Spark** можно использовать команды **Docker**: Пример команды:: docker start spark-master docker start spark-worker-1 Остановка ^^^^^^^^^^ Для остановки **Apache Spark** нужно перейти в директорию с файлом ``docker-compose.yml``, созданным при установке **Apache Spark**. В папке, где расположен файл ``docker-compose.yaml`` выполните команду:: docker-compose stop Для остановки отдельно мастера и воркера Apache Spark можно использовать команды **Docker**: Пример команды:: docker stop spark-master docker stop spark-worker-1 Apache Hadoop ~~~~~~~~~~~~~ **Apache Hadoop** представляет собой набор контейнеров, управляемых **Docker**. Ниже приведено описание запуска и остановки **Apache Hadoop**. Запуск ^^^^^^^^ Для запуска **Apache Hadoop** нужно перейти в директорию с файлом ``docker-compose.yml``, созданным при установке **Apache Hadoop**. Например:: cd ~/ Выполните команду:: docker-compose start Для запуска отдельно каждого контейнера **Apache Hadoop** можно использовать команды **Docker**: Пример команды:: docker start namenode docker start datanode docker start resourcemanager docker start nodemanager docker start historyserver Остановка ^^^^^^^^^^^^ Для остановки **Apache Hadoop** нужно перейти в директорию с файлом ``docker-compose.yml``, созданным при установке **Apache Hadoop**. В папке, где расположен файл ``docker-compose.yaml`` выполните команду:: docker-compose stop Для остановки отдельно каждого контейнера Apache Hadoop можно использовать команды **Docker**: Пример команды:: docker stop namenode docker stop datanode docker stop resourcemanager docker stop nodemanager docker stop historyserver Tarantool (Vynil) ~~~~~~~~~~~~~~~~~ **Tarantool (Vynil)** представляет собой контейнер, управляемый **Docker**. Описание запуска и остановки Tarantool (Vynil) приведено в файле ``docker-compose.yml`` директории *Tarantool*. Запуск ^^^^^^^^^^ Для запуска Tarantool (Vynil) перейдите в директорию с файлом ``docker-compose.yml``, созданным при установке **Tarantool (Vynil)**. Например:: cd ~/direct Выполните команду:: docker-compose start Для запуска отдельно каждого контейнера **Tarantool (Vynil)** можно использовать команды **Docker**: Пример команды:: docker start tarantool1 docker start tarantool2 Остановка ^^^^^^^^^^^^^^^ Для остановки **Tarantool (Vynil)** перейдите в директорию с файлом ``docker-compose.yml``, созданным при установке **Tarantool (Vynil)**. В папке, где расположен файл ``docker-compose.yaml`` выполните команду:: docker-compose stop Для остановки отдельно каждого контейнера **Tarantool (Vynil)** можно использовать команды **Docker**: Пример команды:: docker stop tarantool1 docker stop tarantool2 REST-адаптер ------------ **REST-адаптер** представляет собой контейнер, управляемый **Docker**. Для запуска и остановки **REST-адаптер** используются команды **Docker**. Запуск :term:`REST-адаптер` выполняется путём запуска **Docker** командой:: docker start rest-adapter Остановка :term:`REST-адаптер` выполняется путём остановки **Docker** командой:: docker stop rest-adapter Counter-provider - Сервис генерации уникального номера ------------------------------------------------------ Описание настроек модуля приведено в :ref:`software_settings`. .. Подключаем файл с запуском Counter-provider .. include:: ../../modules/counter-provider/doc/counter_provider_start.rst Установка коннектора Kafka-Postgres ----------------------------------- 1. Скопировать файлы ``kafka-postgres-writer-0.3.0.jar``, ``kafka-postgres-reader-0.3.0.jar``, ``kafka-postgres-avro-0.3.0.jar`` из дистрибутива и загрузить в папку **/kafka-postgres-connector**. 2. Скопировать конфигурационные файлы ``application.yaml``сервисов KAFKA-POSTGRES-WRITER и KAFKA-POSTGRES-READER в папку **kafka-postgres-connector/config** Конфигурационный файл KAFKA-POSTGRES-WRITER ``application.yaml``: .. code-block:: yaml logging: level: ru.datamart.kafka: ${LOG_LEVEL:DEBUG} org.apache.kafka: ${KAFKA_LOG_LEVEL:INFO} http: port: ${SERVER_PORT:8096} vertx: pools: eventLoopPoolSize: ${VERTX_EVENT_LOOP_SIZE:12} workersPoolSize: ${VERTX_WORKERS_POOL_SIZE:32} verticle: query: instances: ${QUERY_VERTICLE_INSTANCES:12} insert: poolSize: ${INSERT_WORKER_POOL_SIZE:32} insertPeriodMs: ${INSERT_PERIOD_MS:1000} batchSize: ${INSERT_BATCH_SIZE:500} consumer: poolSize: ${KAFKA_CONSUMER_WORKER_POOL_SIZE:32} maxFetchSize: ${KAFKA_CONSUMER_MAX_FETCH_SIZE:10000} commit: poolSize: ${KAFKA_COMMIT_WORKER_POOL_SIZE:1} commitPeriodMs: ${KAFKA_COMMIT_WORKER_COMMIT_PERIOD_MS:1000} client: kafka: consumer: checkingTimeoutMs: ${KAFKA_CHECKING_TIMEOUT_MS:10000} responseTimeoutMs: ${KAFKA_RESPONSE_TIMEOUT_MS:10000} consumerSize: ${KAFKA_CONSUMER_SIZE:10} closeConsumersTimeout: ${KAFKA_CLOSE_CONSUMER_TIMEOUT:15000} property: bootstrap.servers: ${KAFKA_BOOTSTRAP_SERVERS:kafka.host:9092} group.id: ${KAFKA_CONSUMER_GROUP_ID:postgres-query-execution} auto.offset.reset: ${KAFKA_AUTO_OFFSET_RESET:earliest} enable.auto.commit: ${KAFKA_AUTO_COMMIT:false} auto.commit.interval.ms: ${KAFKA_AUTO_INTERVAL_MS:1000} datasource: postgres: database: ${POSTGRES_DB_NAME:test} user: ${POSTGRES_USERNAME:dtm} password: ${POSTGRES_PASS:dtm} hosts: ${POSTGRES_HOSTS:localhost:5432} poolSize: ${POSTGRES_POOLSIZE:10} preparedStatementsCacheMaxSize: ${POSTGRES_CACHE_MAX_SIZE:256} preparedStatementsCacheSqlLimit: ${POSTGRES_CACHE_SQL_LIMIT:2048} preparedStatementsCache: ${POSTGRES_CACHE:true} Конфигурационный файл KAFKA-POSTGRES-READER ``application.yaml``: .. code-block:: yaml logging: level: ru.datamart.kafka: ${LOG_LEVEL:DEBUG} org.apache.kafka: ${KAFKA_LOG_LEVEL:INFO} http: port: ${SERVER_PORT:8094} vertx: pools: eventLoopPoolSize: ${VERTX_EVENT_LOOP_SIZE:12} workersPoolSize: ${VERTX_WORKERS_POOL_SIZE:32} verticle: query: instances: ${QUERY_VERTICLE_INSTANCES:12} datasource: postgres: database: ${POSTGRES_DB_NAME:test} user: ${POSTGRES_USERNAME:dtm} password: ${POSTGRES_PASS:dtm} hosts: ${POSTGRES_HOSTS:localhost:5432} poolSize: ${POSTGRES_POOLSIZE:10} preparedStatementsCacheMaxSize: ${POSTGRES_CACHE_MAX_SIZE:256} preparedStatementsCacheSqlLimit: ${POSTGRES_CACHE_SQL_LIMIT:2048} preparedStatementsCache: ${POSTGRES_CACHE:true} fetchSize: ${POSTGRES_FETCH_SIZE:1000} kafka: client: property: key.serializer: org.apache.kafka.common.serialization.ByteArraySerializer value.serializer: org.apache.kafka.common.serialization.ByteArraySerializer Arenadata Cluster Manager (ADCM) -------------------------------- Запуск ~~~~~~ **ADCM** представляет собой контейнер, управляемый **Docker**. Для запуска **ADCM** выполните следующие команды: 1. Запустите **ADCM** введя команду **Docker**: .. code-block:: docker start adcm 2. Подключитесь через браузер к веб-интерфейсу по адресу :: http://:8000. 3. Авторизуйтесь в веб-интерфейсе. Остановка ~~~~~~~~~ Остановка **ADCM** выполняется путём остановки **Docker** командой:: docker stop adcm Arenadata Streaming (ADS) ------------------------- Компонент запускается автоматически при установке как два ``systemd`` сервиса: - *Kafka*; - *Zookeeper*. Включен автозапуск сервисов при перезапуске сервера. Запуск и остановка ADS возможна как в консоли (см :numref:`ads_terminal_restart`), так и через ADCM (см :numref:`ads_adcm_restart`). Kafka ~~~~~~~~~~ Запуск ^^^^^^ 1. Авторизуйтесь в **Arenadata Cluster Manager (ADCM)**. 2. Перейдите в пункт кластер ADS. 3. В левом меню, выберите пункт **Services**. 4. В таблице со списком сервисов *ADS*, в строке *Kafka*, нажмите значок **Actions** и нажмите кнопку **Start** (см. :numref:`img_typical_ag_image5`). Остановка ^^^^^^^^^^^^ 1. Авторизуйтесь в **Arenadata Cluster Manager (ADCM)**. 2. Перейдите в пункт кластер ADS. 3. В левом меню, выберите пункт **Services**. 4. В таблице со списком сервисов *ADS*, в строке *Kafka*, нажмите значок **Actions** и нажмите кнопку **Stop** (см. :numref:`img_typical_ag_image5`). Перезапуск ^^^^^^^^^^^^^ Для перезапуска **Kafka** в **Arenadata Cluster Manager (ADCM)**, выполните следующие действия: 1. Авторизуйтесь в **Arenadata Cluster Manager (ADCM)**. 2. Перейдите в пункт кластер ADS. 3. В левом меню, выберите пункт **Services**. 4. В таблице со списком сервисов *ADS*, в строке *Kafka*, нажмите значок **Actions** и нажмите кнопку **Restart** (см. :numref:`img_typical_ag_image5`). Zookeeper ~~~~~~~~~~~ Запуск ^^^^^^ 1. Авторизуйтесь в **Arenadata Cluster Manager (ADCM)**. 2. Нажмите вкладку **Cluster**. 3. Перейдите в пункт кластер ADS. 4. В левом меню, выберите пункт **Services**. 5. В таблице со списком сервисов *ADS*, в строке *Zookeeper*, нажмите значок **Actions** и нажмите кнопку **Start** (см. :numref:`img_typical_ag_image5`). 6. Подтвердите действие, для этого нажмите кнопку **Run**. .. _img_typical_ag_image5: .. figure:: /_static/img/typical/ag/image5.png :align: center :alt: Запуск сервиса Zookeeper через ADCM Запуск сервиса Zookeeper через ADCM Остановка ^^^^^^^^^ 1. Авторизуйтесь в **Arenadata Cluster Manager (ADCM)**. 2. Перейдите в пункт кластер ADS. 3. В левом меню, выберите пункт **Services**. 4. В таблице со списком сервисов *ADS*, в строке *Zookeeper*, нажмите значок **Actions** и нажмите кнопку **Stop** (см. :numref:`img_typical_ag_image5`). Перезапуск ^^^^^^^^^^^^^^ Для перезапуска **Zookeeper** в **Arenadata Cluster Manager (ADCM)**, выполните следующие действия: 1. Авторизуйтесь в **Arenadata Cluster Manager (ADCM)**. 2. Перейдите в пункт кластер ADS. 3. В левом меню, выберите пункт **Services**. 4. В таблице со списком сервисов *ADS*, в строке *Zookeeper*, нажмите значок **Actions** и нажмите кнопку **Restart** (см. :numref:`img_typical_ag_image5`). .. _ads_terminal_restart: Запуск и остановка сервисов ADS через консоль ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Для ручной остановки и запуска необходимо подключиться по SSH на сервер и с правами ``sudo`` использовать штатную функцию ``systemctl``. .. attention:: Сервис **Kafka** всегда необходимо запускать после сервиса **Zookeeper**. Например: sudo systemctl stop kafka sudo systemctl stop zookeeper sudo systemctl start zookeeper sudo systemctl start kafka .. _ads_adcm_restart: Запуск и остановка сервисов ADS через ADCM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Графический пользовательский интерфейс Arenadata Cluster Manager (ADCM) предоставляет возможность независимо выполнять операции запуска, остановки и перезапуска для сервисов *Kafka* и *Zookeeper*. Запуск и остановка Arenadata Streaming (ADS) осуществляется через Arenadata Cluster Manager (ADCM) (см. :numref:`img_typical_ag_image6`). Запуск ^^^^^^^^^^ Для запуска Arenadata Cluster Manager (ADCM), выполните следующие действия: 1. Авторизуйтесь в Arenadata Cluster Manager (ADCM). 2. Перейдите в пункт кластер ADS. 3. Нажмите кнопку **Run actions** и выберите в контекстном меню пункт **Start** (см. :numref:`img_typical_ag_image6`). .. _img_typical_ag_image6: .. figure:: /_static/img/typical/ag/image6.png :align: center :alt: Запуск Arenadata Streaming (ADS) в ADCM Запуск Arenadata Streaming (ADS) в ADCM Остановка ^^^^^^^^^^^^ .. attention:: Остановка Arenadata Streaming (ADS) приведет к остановке сервисов *Zookeeper* и *Kafka*. Для остановки Arenadata Cluster Manager (ADCM), выполните следующие действия: 1. Авторизуйтесь в Arenadata Cluster Manager (ADCM). 2. Перейдите в пункт кластер ADS. 3. Нажмите кнопку **Run actions** и выберите в контекстном меню пункт **Stop** (см. :numref:`img_typical_ag_image6_1`). .. _img_typical_ag_image6_1: .. figure:: /_static/img/typical/ag/image6_1.png :align: center :alt: Остановка Arenadata Streaming (ADS) в ADCM Остановка Arenadata Streaming (ADS) в ADCM