Перейти к содержанию

Обновление FaceStream#

Перед запуском FaceStream должны быть выполнены действия, описанные в разделе "Подготовка к обновлению".

Выберите подходящий сценарий обновления:

Обновление FaceStream с LUNA Streams#

Миграция настроек LUNA Streams в Configurator#

Выполните следующую команду для миграции настроек LUNA Streams в LUNA Configurator:

docker run \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/streams:/srv/logs \
--entrypoint=/bin/bash \
--rm \
--network=host \
dockerhub.visionlabs.ru/luna/streams-configs:v.1.8.0 \
-c "python3 -m streams_configs.migrate head --config_db_url postgres://luna:luna@127.0.0.1:5432/luna_configurator"

Миграция настроек FaceStream в Configurator#

Выполните следующую команду для миграции настроек FaceStream в LUNA Configurator:

docker run \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/facestream:/srv/logs \
--entrypoint=/bin/bash \
--rm \
--network=host \
dockerhub.visionlabs.ru/luna/facestream_configs:v.5.2.29 \
-c "python3 -m configs.migrate head --config_db_url postgres://luna:luna@127.0.0.1:5432/luna_configurator"

Миграция базы данных LUNA Streams#

Необходимо выполнить скрипт миграции для обновления структуры базы данных LUNA Streams.

Рекомендуется создать резервную копию базы данных перед тем, как принимать какие-либо изменения.

docker run \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/streams:/srv/logs \
--rm \
--network=host \
dockerhub.visionlabs.ru/luna/luna-streams:v.1.8.0 \
alembic -x luna-config=http://127.0.0.1:5070/1 upgrade head

Миграция хранилища данных мониторинга в ClickHouse#

Примечание. Данный раздел актуален только при использовании ClickHouse для хранения данных мониторинга. Пропустите этот раздел, если используется InfluxDB. Дополнительную информацию см. в разделе "Мониторинг" в руководстве администратора.

Для корректной записи данных мониторингa FaceStream в ClickHouse необходимо предварительно создать таблицу fs_requests.

Важно! Если вы ранее использовали InfluxDB и переходите на ClickHouse, учтите, что данные мониторинга из InfluxDB не будут перенесены в ClickHouse.

Для этого выполните команду:

docker run \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/streams:/srv/logs \
--entrypoint=/bin/bash \
--rm \
--network=host \
dockerhub.visionlabs.ru/luna/streams-configs:v.1.8.0 \
-c "python3 -m monitoring.migrate -x luna-config=http://localhost:5070/1 -x partition=day -x monitoring-ttl=30 upgrade head"

В команде выше приведены дополнительные параметры:

  • partition=day — задаёт период партиционирования данных (по дням).
  • monitoring-ttl=30 — задаёт время хранения данных (30 дней).

Важно! Без выполнения этой команды таблица fs_requests не будет создана, и данные мониторинга записываться не будут.

Команда запуска контейнера LUNA Streams#

Запуск контейнера осуществляется следующей командой:

docker run \
--env=CONFIGURATOR_HOST=127.0.0.1 \
--env=CONFIGURATOR_PORT=5070 \
--env=PORT=5160 \
--env=WORKER_COUNT=1 \
--env=RELOAD_CONFIG=1 \
--env=RELOAD_CONFIG_INTERVAL=10 \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/streams:/srv/logs \
--name=luna-streams \
--restart=always \
--detach=true \
--network=host \
dockerhub.visionlabs.ru/luna/luna-streams:v.1.8.0

Для проверки корректности запуска сервиса можно выполнить GET-запрос http://127.0.0.1:5160/version. В ответе должна вернуться версия LUNA Streams v.1.8.0.

Команды запуска контейнера FaceStream#

В приведенных ниже командах запуска используются параметры монтирования конфигурационных файлов faceengine.conf, runtime.conf и trackengine.conf:

  • -v /var/lib/fs/fs-current/extras/conf/configs/faceengine.conf:/srv/facestream/data/faceengine.conf \ — параметр позволяет использовать настройки FaceEngine из конфигурационного файла "faceengine.conf".
  • -v /var/lib/fs/fs-current/extras/conf/configs/runtime.conf:/srv/facestream/data/runtime.conf \ — параметр позволяет использовать настройки среды выполнения из конфигурационного файла "runtime.conf".
  • -v /var/lib/fs/fs-current/extras/conf/configs/trackengine.conf:/srv/facestream/data/trackengine.conf \ — параметр позволяет использовать настройки TrackEngine из конфигурационного файла "trackengine.conf".

Важно! Параметры могут быть заданы как через сервис Configurator (см. раздел "Настройки, задаваемые в сервисе LUNA Configurator" руководства администратора), так и в конфигурационных файлах одновременно. В случае совпадения параметров приоритет имеет значение, указанное в сервисе Configurator.

В сервисе Configurator можно настроить только основные пользовательские настройки. Для более тонкой настройки следует использовать конфигурационный файл.

Команда запуска контейнера с использованием CPU#

Запуск контейнера осуществляется следующим образом:

docker run \
--env=CONFIGURATOR_HOST=127.0.0.1 \
--env=CONFIGURATOR_PORT=5070 \
-v /var/lib/fs/fs-current/extras/conf/configs/faceengine.conf:/srv/facestream/data/faceengine.conf \
-v /var/lib/fs/fs-current/extras/conf/configs/runtime.conf:/srv/facestream/data/runtime.conf \
-v /var/lib/fs/fs-current/extras/conf/configs/trackengine.conf:/srv/facestream/data/trackengine.conf \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/facestream:/srv/logs \
--env=PORT=34569 \
--detach=true \
--restart=always \
--name=facestream \
--network=host \
dockerhub.visionlabs.ru/luna/facestream:v.5.2.29

Описание остальных параметров и ключей запуска см. в разделе "Описание ключей запуска".

Для проверки корректности запуска можно выполнить GET-запрос http://127.0.0.1:34569/version. В ответе должна вернуться версия FaceStream.

Команда запуска контейнера с использованием GPU#

Примечание. Используйте данную команду только если собираетесь использовать FaceStream с GPU.

Перед запуском FaceStream в режиме GPU необходимо установить дополнительные зависимости (см. раздел "Установка зависимостей для GPU").

Перед запуском контейнера FaceStream с GPU требуется включить использование GPU для вычислений в настройках FaceStream с помощью параметра "enable_gpu_processing" (см. раздел "Настройки FaceStream" в руководстве администратора).

docker run \
--env=CONFIGURATOR_HOST=127.0.0.1 \
--env=CONFIGURATOR_PORT=5070 \
-v /var/lib/fs/fs-current/extras/conf/configs/faceengine.conf:/srv/facestream/data/faceengine.conf \
-v /var/lib/fs/fs-current/extras/conf/configs/runtime.conf:/srv/facestream/data/runtime.conf \
-v /var/lib/fs/fs-current/extras/conf/configs/trackengine.conf:/srv/facestream/data/trackengine.conf \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/facestream:/srv/logs \
--env=PORT=34569 \
--gpus device=0 \
--detach=true \
--restart=always \
--name=facestream \
--network=host \
dockerhub.visionlabs.ru/luna/facestream:v.5.2.29

--gpus device=0 — параметр указывает используемое устройство GPU и позволяет использовать GPU. Один GPU используется для одного экземпляра FaceStream. Использование множества GPU для одного экземпляра невозможно.

Описание остальных параметров и ключей запуска см. в разделе "Описание ключей запуска".

Для проверки корректности запуска можно выполнить GET-запрос http://127.0.0.1:34569/version. В ответе должна вернуться версия FaceStream.

Переключение FaceStream с LUNA Streams на режим агента LUNA PLATFORM#

Данный раздел описывает переключение FaceStream с LUNA Streams на режим агента LUNA PLATFORM в процессе обновления.

Примечание. Данный раздел актуален только при смене режима работы. Если режим работы не меняется, перейдите в раздел "Обновление FaceStream с LUNA Streams".

Миграция настроек LUNA Streams в Configurator#

Выполните следующую команду для миграции настроек LUNA Streams в LUNA Configurator:

docker run \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/streams:/srv/logs \
--entrypoint=/bin/bash \
--rm \
--network=host \
dockerhub.visionlabs.ru/luna/streams-configs:v.1.8.0 \
-c "python3 -m streams_configs.migrate head --config_db_url postgres://luna:luna@127.0.0.1:5432/luna_configurator"

Миграция настроек FaceStream в Configurator#

Выполните следующую команду для миграции настроек FaceStream в LUNA Configurator:

docker run \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/facestream:/srv/logs \
--entrypoint=/bin/bash \
--rm \
--network=host \
dockerhub.visionlabs.ru/luna/facestream_configs:v.5.2.29 \
-c "python3 -m configs.migrate head --config_db_url postgres://luna:luna@127.0.0.1:5432/luna_configurator"

Миграция хранилища данных мониторинга в ClickHouse#

Примечание. Данный раздел актуален только при использовании ClickHouse для хранения данных мониторинга. Пропустите этот раздел, если используется InfluxDB. Дополнительную информацию см. в разделе "Мониторинг" в руководстве администратора.

Для корректной записи данных мониторингa FaceStream в ClickHouse необходимо предварительно создать таблицу fs_requests.

Важно! Если вы ранее использовали InfluxDB и переходите на ClickHouse, учтите, что данные мониторинга из InfluxDB не будут перенесены в ClickHouse.

Для этого выполните команду:

docker run \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/streams:/srv/logs \
--entrypoint=/bin/bash \
--rm \
--network=host \
dockerhub.visionlabs.ru/luna/streams-configs:v.1.8.0 \
-c "python3 -m monitoring.migrate -x luna-config=http://localhost:5070/1 -x partition=day -x monitoring-ttl=30 upgrade head"

В команде выше приведены дополнительные параметры:

  • partition=day — задаёт период партиционирования данных (по дням).
  • monitoring-ttl=30 — задаёт время хранения данных (30 дней).

Важно! Без выполнения этой команды таблица fs_requests не будет создана, и данные мониторинга записываться не будут.

Настройка режима работы#

Для переключения в режим агента необходимо задать значение параметра pull_streams_service в дамп-файле нового комплекта поставки.

Важно! Используйте дамп-файл из нового комплекта поставки, а не из предыдущей версии. Новый дамп-файл содержит полную схему настроек, необходимую для запуска FaceStream в режиме агента.

Откройте дамп-файл нового комплекта поставки:

vi /var/lib/fs/fs-current/extras/conf/configurator_configs/face_stream_config.json

В секции streams_pulling задайте значение параметра pull_streams_service:

{
    "name": "FACE_STREAM_CONFIG",
    "tags": [],
    "value": {
        ...
        "streams_pulling": {
            "pull_streams_service": "lunavideomanager"
        },
        ...
    }
}

Допустимые значения параметра pull_streams_service:

  • lunastreams — режим работы LUNA Streams (по умолчанию);
  • lunavideomanager — режим работы в роли агента LUNA PLATFORM.

Загрузка дамп-файла#

Выполните следующую команду для загрузки дамп-файла в Configurator:

docker run \
--rm \
--network=host \
-v /var/lib/fs/fs-current/extras/conf/configs/storages_config.conf:/srv/storages_config.conf \
-v /var/lib/fs/fs-current/extras/conf/configurator_configs/face_stream_config.json:/srv/face_stream_config.json \
dockerhub.visionlabs.ru/luna/storages:v.0.234.0 \
bash -c "luna_prepare load_dump \
    --dump-file=/srv/face_stream_config.json \
    --config=/srv/storages_config.conf"

Команды запуска контейнера FaceStream#

В приведенных ниже командах запуска используются параметры монтирования конфигурационных файлов faceengine.conf, runtime.conf и trackengine.conf:

  • -v /var/lib/fs/fs-current/extras/conf/configs/faceengine.conf:/srv/facestream/data/faceengine.conf \ — параметр позволяет использовать настройки FaceEngine из конфигурационного файла "faceengine.conf".
  • -v /var/lib/fs/fs-current/extras/conf/configs/runtime.conf:/srv/facestream/data/runtime.conf \ — параметр позволяет использовать настройки среды выполнения из конфигурационного файла "runtime.conf".
  • -v /var/lib/fs/fs-current/extras/conf/configs/trackengine.conf:/srv/facestream/data/trackengine.conf \ — параметр позволяет использовать настройки TrackEngine из конфигурационного файла "trackengine.conf".

Важно! Параметры могут быть заданы как через сервис Configurator (см. раздел "Настройки, задаваемые в сервисе LUNA Configurator" руководства администратора), так и в конфигурационных файлах одновременно. В случае совпадения параметров приоритет имеет значение, указанное в сервисе Configurator.

В сервисе Configurator можно настроить только основные пользовательские настройки. Для более тонкой настройки следует использовать конфигурационный файл.

Команда запуска контейнера с использованием CPU#

Запуск контейнера осуществляется следующим образом:

docker run \
--env=ACCOUNT_ID=<ACCOUNT_ID> \
--env=CONFIGURATOR_HOST=127.0.0.1 \
--env=CONFIGURATOR_PORT=5070 \
-v /var/lib/fs/fs-current/extras/conf/configs/faceengine.conf:/srv/facestream/data/faceengine.conf \
-v /var/lib/fs/fs-current/extras/conf/configs/runtime.conf:/srv/facestream/data/runtime.conf \
-v /var/lib/fs/fs-current/extras/conf/configs/trackengine.conf:/srv/facestream/data/trackengine.conf \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/facestream:/srv/logs \
--env=PORT=34569 \
--detach=true \
--restart=always \
--name=facestream \
--network=host \
dockerhub.visionlabs.ru/luna/facestream:v.5.2.29

Замените <ACCOUNT_ID> на идентификатор вашего аккаунта LUNA PLATFORM.

Описание остальных параметров и ключей запуска см. в разделе "Описание ключей запуска".

Для проверки корректности запуска можно выполнить GET-запрос http://127.0.0.1:34569/version. В ответе должна вернуться версия FaceStream.

Команда запуска контейнера с использованием GPU#

Примечание. Используйте данную команду только если собираетесь использовать FaceStream с GPU.

Перед запуском FaceStream в режиме GPU необходимо установить дополнительные зависимости (см. раздел "Установка зависимостей для GPU").

Перед запуском контейнера FaceStream с GPU требуется включить использование GPU для вычислений в настройках FaceStream с помощью параметра "enable_gpu_processing" (см. раздел "Настройки FaceStream" в руководстве администратора).

docker run \
--env=ACCOUNT_ID=<ACCOUNT_ID> \
--env=CONFIGURATOR_HOST=127.0.0.1 \
--env=CONFIGURATOR_PORT=5070 \
-v /var/lib/fs/fs-current/extras/conf/configs/faceengine.conf:/srv/facestream/data/faceengine.conf \
-v /var/lib/fs/fs-current/extras/conf/configs/runtime.conf:/srv/facestream/data/runtime.conf \
-v /var/lib/fs/fs-current/extras/conf/configs/trackengine.conf:/srv/facestream/data/trackengine.conf \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/logs/facestream:/srv/logs \
--env=PORT=34569 \
--gpus device=0 \
--detach=true \
--restart=always \
--name=facestream \
--network=host \
dockerhub.visionlabs.ru/luna/facestream:v.5.2.29

Замените <ACCOUNT_ID> на идентификатор вашего аккаунта LUNA PLATFORM.

--gpus device=0 — параметр указывает используемое устройство GPU и позволяет использовать GPU. Один GPU используется для одного экземпляра FaceStream. Использование множества GPU для одного экземпляра невозможно.

Описание остальных параметров и ключей запуска см. в разделе "Описание ключей запуска".

Для проверки корректности запуска можно выполнить GET-запрос http://127.0.0.1:34569/version. В ответе должна вернуться версия FaceStream.