Стандартное развертывание в многосерверной среде

Данный раздел посвящен развертыванию FindFace Multi в многосерверной среде.

Совет

Если после прочтения данного раздела у вас остались вопросы, не стесняйтесь задать их нашим экспертам по адресу support@ntechlab.com.

Важно

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

Развертывание FindFace Multi на нескольких серверах может быть необходимо по следующим причинам:

  • Необходимость в распределении высокой нагрузки при обработке видео.

  • Требуется обработка видеопотоков от группы камер в месте их физического расположения.

    Примечание

    Актуально для сетей гостиниц, магазинов, при наличии нескольких проходных в одном здании и др.

  • Необходимость в распределении высокой нагрузки при извлечении векторов признаков.

  • В поиске задействовано большое количество объектов, что требует реализации распределенной базы данных.

Перед тем как приступить к развертыванию, постройте архитектурную схему с учетом будущей нагрузки системы и выделенных под нее аппаратных ресурсов (см. Требования). Наиболее распространенной схемой является следующая:

  • Центральный сервер с установленными компонентами findface-ntls, findface-multi-legacy, findface-sf-api, findface-video-manager, findface-upload, findface-video-worker, findface-extraction-api, findface-tarantool-server, а также сторонним программным обеспечением.

  • Несколько дополнительных серверов для обработки видео с установленным компонентом findface-video-worker.

  • (При необходимости) Несколько дополнительных серверов для извлечения векторов признаков (т. н. серверы экстракции) с установленным компонентом findface-extraction-api.

  • (При необходимости) Дополнительные серверы базы данных с несколькими шардами Tarantool на каждом.

Инструкции в настоящем разделе приведены для описанной выше наиболее часто встречающейся схемы многосерверного развертывания. В высоконагруженных системах также может потребоваться распределить обработку API-запросов, т. е. организовать несколько серверов findface-sf-api и findface-video-manager. Данная процедура требует высокого уровня знаний и дополнительного программирования. Пожалуйста, не стесняйтесь обращаться к нашим экспертам за помощью по этому вопросу (support@ntechlab.com).

Важно

Установка новых компонентов FindFace Multi в директорию с уже развернутыми компонентами FindFace Multi приведет к перезаписи содержимого каталога установки и файла docker-compose.yaml. Если на выбранный сервер требуется установить комбинацию компонентов, то в ходе установки рекомендуется выбирать все необходимые компоненты сразу.

Развертывание FindFace Multi в многосерверной среде состоит из следующих этапов:

Развертывание центрального сервера

Для развертывания центрального сервера FindFace Multi выполните следующие действия:

  1. На выделенном физическом сервере установите FindFace Multi из инсталлятора следующим образом (до развертывания FindFace Multi не забудьте подготовить сервер):

    • Устанавливаемый продукт: FindFace Multi.

    • Тип установки: Single Server. FindFace Multi будет установлен в качестве центрального сервера и настроен на взаимодействие с дополнительными удаленными экземплярами findface-video-worker.

    • Тип ускорения findface-video-worker (на центральном сервере): CPU или GPU, в зависимости от конфигурации оборудования.

    • Тип ускорения findface-extraction-api (на центральном сервере): CPU или GPU, в зависимости от конфигурации оборудования.

    По завершении установки в консоль будет выведена информация, необходимая для использования FindFace Multi:

    #############################################################################
    #                       Installation is complete                            #
    #############################################################################
    - all configuration and data is stored in /opt/findface-multi
    - upload your license to http://172.168.1.9/#/license/
    - user interface: http://172.168.1.9/
      superuser:      admin
      documentation:  http://172.168.1.9/doc/
    
  2. Загрузите файл лицензии FindFace Multi через основной веб-интерфейс http://<IP_адрес_сервера>/#/license. Для доступа в веб-интерфейс используйте логин пользователя superuser, выведенный в консоли и пароль, заданный в ходе установки.

    Примечание

    IP-адрес сервера в ссылках на веб-интерфейсы FindFace Multi аналогичен IP-адресу, выбранному в качестве внешнего адреса в ходе установки.

    Важно

    Не передавайте данные superuser (Супер Администратора) третьим лицам. Для администрирования системы создайте назначаемого администратора. Отличие назначаемого администратора от Супер Администратора в том, что последний не может лишиться прав администратора даже при смене роли.

Развертывание серверов обработки видео

На дополнительном сервере для обработки видео установите экземпляр findface-video-worker, руководствуясь пошаговыми инструкциями. Ответьте на вопросы инсталлятора следующим образом:

  • Устанавливаемый продукт: FindFace Video Worker.

  • Тип ускорения findface-video-worker: CPU или GPU, в зависимости от конфигурации оборудования.

  • Доменное имя или IP-адрес, по которому доступны сервисы findface-ntls и findface-video-manager.

После этого процесс установки будет автоматически запущен. Ответы на вопросы инсталлятора будут сохранены в файл /tmp/<findface-installer-*>.json. Используйте данный файл, чтобы установить FindFace Video Worker на других серверах, не отвечая на вопросы инсталлятора повторно. Для этого запустите инсталлятор командой:

sudo ./<findface-*>.run -f /tmp/<findface-installer-*>.json

Примечание

Если findface-ntls и/или findface-video-manager установлены на двух различных серверах, укажите их IP-адреса после установки в файле конфигурации /opt/findface-multi/configs/findface-video-worker/findface-video-worker.yaml. Предположим, findface-ntls установлен на центральном сервере 172.168.1.9, а findface-video-manager установлен на дополнительном сервере 172.168.1.10, тогда отредактируйте соответствующим образом файл /opt/findface-multi/configs/findface-video-worker/findface-video-worker.yaml.

sudo vi /opt/findface-multi/configs/findface-video-worker/findface-video-worker.yaml

В параметре ntls_addr укажите IP-адрес сервера findface-ntls.

ntls_addr: 172.168.1.9:3133

В параметре mgrstatic укажите IP-адрес сервера findface-video-manager, который будет обеспечивать findface-video-worker настройками и списком видеопотоков для обработки.

static: 172.168.1.10:18811

Развертывание серверов экстракции

  1. На дополнительном сервере экстракции установите экземпляр findface-extraction-api из консольного инсталлятора. Ответьте на вопросы инсталлятора следующим образом:

    • Устанавливаемый продукт: FindFace Multi.

    • Тип установки: Fully customized installation. Обратитесь к разделу Полностью настраиваемая установка, чтобы увидеть вопросы инсталлятора, следующие за этим пунктом.

    • Когда инсталлятор попросит выбрать компоненты FindFace Multi, необходимые для установки, укажите findface-extraction-api и findface-data. Для того чтобы их выбрать, сначала снимите выделение со всех компонентов, введя в командной строке -*, затем введите порядковые номера findface-extraction-api и findface-data через пробел. Введите done для сохранения выбора и перехода к следующему шагу.

    • Тип ускорения findface-extraction-api: CPU или GPU.

    • Модели нейронных сетей для установки: CPU или GPU-модели для обнаружения объектов и распознавания атрибутов объектов. Удостоверьтесь, что для каждой модели вы указали правильный тип ускорения: CPU или GPU. Он должен совпадать с типом ускорения findface-extraction-api. Обратите внимание, что findface-extraction-api на CPU может работать только с CPU-моделями, в то время как findface-extraction-api на GPU поддерживает как GPU-, так и CPU-модели.

    • Детекторы и атрибуты для установки: можно установить детекторы и атрибуты сразу во время развертывания или установить только детектор лиц с настройками по умолчанию. В зависимости от вашего выбора система задаст вам дополнительные вопросы об устанавливаемых детекторах и атрибутах или перейдет к копированию моделей нейронных сетей.

    • Система предложит вам отредактировать конфигурационные файлы. Выберите для редактирования файл конфигурации /opt/findface-multi/configs/findface-extraction-api/findface-extraction-api.yaml: в параметре license_ntls_server укажите IP-адрес сервера findface-ntls.

    После этого процесс установки будет автоматически запущен. Ответы на вопросы инсталлятора будут сохранены в файл /tmp/<findface-installer-*>.json. Используйте данный файл, чтобы установить findface-extraction-api на других серверах, не отвечая на вопросы инсталлятора повторно.

    sudo ./<findface-*>.run -f /tmp/<findface-installer-*>.json
    
  2. Чтобы переместить основной экземпляр findface-extraction-api на другой хост, в файле конфигурации /opt/findface-multi/configs/findface-sf-api/findface-sf-api.yaml укажите IP-адрес хоста сервера экстракции. Например, если хост сервера экстракции расположен по адресу 172.168.1.11, укажите extraction-api: http://172.168.1.11:18666.

    listen: :18411
    extraction-api:
      timeouts:
        connect: 5s
        response_header: 30s
        overall: 35s
        idle_connection: 10s
      max-idle-conns-per-host: 20
      keepalive: 24h0m0s
      trace: false
      url: http://127.0.0.1:18666
      extraction-api: http://172.168.1.11:18666
    
  3. На каждом сервере с развернутым сервисом findface-extraction-api внесите изменения в файл /opt/findface-multi/docker-compose.yaml.

    • Укажите порты для сервиса findface-extraction-api:

      findface-extraction-api:
        command: [--config=/etc/findface-extraction-api.yml]
        depends_on: [findface-ntls]
        image: docker.int.ntl/ntech/universe/extraction-api-cpu:ffserver-12.241211.2
        logging: {driver: journald}
        ports: ['18666:18666']
        networks: [product-network]
        restart: always
        volumes: ['./configs/findface-extraction-api/findface-extraction-api.yaml:/etc/findface-extraction-api.yml:ro',
          './models:/usr/share/findface-data/models:ro', './cache/findface-extraction-api/models:/var/cache/findface/models_cache']
      
    • Выполните перезапуск контейнеров FindFace Multi.

      cd /opt/findface-multi/
      
      sudo docker-compose down
      sudo docker-compose up -d
      

Важно

Первый после развертывания запуск сервиса с GPU-ускорением findface-extraction-api может занять продолжительное время из-за процесса кэширования (около двух часов). В течение этого времени обнаружение объектов на видео и фотографиях, а также извлечение векторов признаков будут недоступны.

Убедитесь в том, что сервис findface-extraction-api запущен и работает, просмотрев логи сервиса.

docker logs findface-multi-findface-extraction-api-1 --tail 30 -f

После развертывания серверов экстракции распределите между ними нагрузку.

Распределение нагрузки между серверами экстракции

Распределение нагрузки между несколькими серверами экстракции выполняется через балансировщик нагрузки. Приведенная ниже пошаговая инструкция демонстрирует балансировку нагрузки с помощью nginx в режиме round-robin для 3-х экземпляров findface-extraction-api, расположенных на различных физических серверах. Один экземпляр установлен на центральном сервере FindFace Multi (172.168.1.9), 2 других на дополнительных удаленных серверах (172.168.1.10, 172.168.1.11). Если в системе присутствует большее количество серверов экстракции, балансировка нагрузки выполняется по аналогии.

Совет

Вы можете использовать любой удобный вам балансировщик нагрузки. Руководство по его использованию ищите в соответствующей справочной документации.

Для балансировки нагрузки между экземплярами findface-extraction-api выполните следующие действия:

  1. Назначьте т. н. сервер шлюза для балансируемой группы серверов экстракции. Им может стать центральный сервер FindFace Multi (рекомендуется) или любой другой сервер с включенным сервисом findface-sf-api.

    Важно

    Вам нужно будет указать IP-адрес шлюза при настройке распределенной сети FindFace Multi.

  2. На сервере с включенным сервисом findface-sf-api создайте в каталоге /opt/findface-multi/configs/ папку nginx, содержащую файл extapi.conf. Убедитесь, что файл extapi.conf содержит информацию, как в примере ниже. В директиве upstream (upstream extapibackends) замените примерные IP-адреса на актуальные IP-адреса серверов экстракции. В директиве server в параметре listen укажите номер слушающего порта сервера шлюза. Вам потребуется указать данный порт при настройке FindFace Multi network.

    upstream extapibackends {
            server 172.168.1.9:18666; ## ``findface-extraction-api`` on principal server
            server 172.168.1.10:18666; ## 1st additional extraction server
            server 127.168.1.11:18666; ## 2nd additional extraction server
    }
    server {
            listen 18667;
            server_name extapi;
            client_max_body_size 64m;
            location / {
                    proxy_pass http://extapibackends;
                    proxy_next_upstream error;
            }
            access_log /var/log/nginx/extapi.access_log;
            error_log /var/log/nginx/extapi.error_log;
    }
    
  3. Обозначьте сервис Nginx в файле docker-compose.yaml. Для этого внесите в файл docker-compose.yaml запись о контейнере с образом Nginx:

    sudo vi /opt/findface-multi/docker-compose.yaml
    
    nginx:
      image: nginx:latest
      ports:
        - 18667:18667
      volumes:
        - ./configs/nginx/extapi.conf:/etc/nginx/conf.d/default.conf:ro
    
  4. В конфигурационном файле findface-sf-api.yaml укажите адрес распределителя:

    sudo vi /opt/findface-multi/configs/findface-sf-api/findface-sf-api.yaml
    
    ...
    extraction-api: http://172.168.1.9:18667
    
  5. Выполните перезапуск контейнеров FindFace Multi.

    cd /opt/findface-multi/
    
    sudo docker-compose down
    sudo docker-compose up -d
    

Балансировка нагрузки успешно настроена. Не забудьте указать актуальный IP-адрес и слушающий порт сервера шлюза при настройке распределенной сети FindFace Multi.

Развертывание дополнительных серверов базы данных

Компонент findface-tarantool-server соединяет базу данных векторов признаков на основе Tarantool и компонент findface-sf-api, передавая результаты поиска от базы данных в findface-sf-api для дальнейшей обработки.

Чтобы увеличить скорость поиска, можно выделить несколько дополнительных серверов под базу данных векторов признаков и создать множество сегментов (шардов) findface-tarantool-server на каждом из них. Параллельное функционирование многочисленных шардов приведет к значительному увеличению производительности, поскольку каждый шард может обрабатывать приблизительно до 10 000 000 векторов признаков.

Чтобы развернуть дополнительные серверы базы данных, выполните следующие действия:

  1. Установите компонент findface-tarantool-server на первом выделенном под базу данных сервере. Ответьте на вопросы инсталлятора следующим образом:

    • Устанавливаемый продукт: FindFace Multi.

    • Тип установки: Fully customized installation. Обратитесь к разделу Полностью настраиваемая установка, чтобы увидеть вопросы инсталлятора, следующие за этим пунктом.

    • Когда инсталлятор попросит выбрать компоненты FindFace Multi, необходимые для установки, укажите findface-tarantool-server. Для того чтобы его выбрать, сначала снимите выделение со всех компонентов, введя в командной строке -*, затем введите порядковый номер findface-tarantool-server (keyword). Введите done для сохранения выбора и перехода к следующему шагу.

    • Количество экземпляров tntapi: по умолчанию количество экземпляров tntapi равно 8. Укажите необходимое количество экземпляров в соответствии с конфигурацией вашей системы.

    • Детекторы и атрибуты для установки: можно установить детекторы и атрибуты сразу во время развертывания или установить только детектор лиц с настройками по умолчанию. В зависимости от вашего выбора система задаст вам дополнительные вопросы об устанавливаемых детекторах и атрибутах или перейдет к копированию моделей нейронных сетей.

    • Редактирование файлов конфигурации: система предложит вам отредактировать файлы конфигурации. Вы можете согласиться или перейти к следующему шагу.

    После этого процесс установки будет автоматически запущен.

    В результате установки шарды findface-tarantool-server будут автоматически установлены в количестве N = min(max(min(mem_mb // 2000, cpu_cores), 1), 16 * cpu_cores). Т. е. количество равно размеру оперативной памяти в Мб, разделенному на 2000, или количеству физических ядер процессора (но не менее 1 шарда), или же количеству физических ядер процессора, умноженному на 16, если первое полученное значение больше.

  2. Используйте созданный файл /tmp/<findface-installer-*>.json, чтобы установить findface-tarantool-server на других серверах, не отвечая на вопросы инсталлятора повторно. Для этого выполните следующую команду:

    sudo ./<findface-*>.run -f /tmp/<findface-installer-*>.json
    
  3. Обязательно укажите IP-адреса и порты шардов при настройке распределенной сети FindFace Multi. Для того чтобы узнать номера портов, на каждом сервере базы данных выполните команду:

    sudo cat /opt/findface-multi/docker-compose.yaml | grep -E "CFG_LISTEN_PORT"
    

    Будет возвращен следующий результат:

    CFG_LISTEN_PORT: '8101', CFG_NTLS: 'findface-ntls:3133', TT_CHECKPOINT_COUNT: 3,
    CFG_LISTEN_PORT: '8101', CFG_NTLS: 'findface-ntls:3133', TT_CHECKPOINT_COUNT: 3,
    CFG_LISTEN_PORT: '8101', CFG_NTLS: 'findface-ntls:3133', TT_CHECKPOINT_COUNT: 3,
    CFG_LISTEN_PORT: '8101', CFG_NTLS: 'findface-ntls:3133', TT_CHECKPOINT_COUNT: 3,
    CFG_LISTEN_PORT: '8101', CFG_NTLS: 'findface-ntls:3133', TT_CHECKPOINT_COUNT: 3,
    CFG_LISTEN_PORT: '8101', CFG_NTLS: 'findface-ntls:3133', TT_CHECKPOINT_COUNT: 3,
    CFG_LISTEN_PORT: '8101', CFG_NTLS: 'findface-ntls:3133', TT_CHECKPOINT_COUNT: 3,
    CFG_LISTEN_PORT: '8101', CFG_NTLS: 'findface-ntls:3133', TT_CHECKPOINT_COUNT: 3,
    

    Номер портов CFG_LISTEN_PORT: '8101', одинаковый для всех шардов, настроен для развертывания в сети bridge. На следующем шаге выполните конфигурацию параметра CFG_LISTEN_PORT для каждого шарда.

  4. На сервере с установленным компонентом findface-tarantool-server внесите изменения в конфигурацию каждого шарда в файле /opt/findface-multi/docker-compose.yaml. Укажите адрес сервера лицензий findface-ntls в параметре CFG_NTLS. Для каждого шарда, кроме первого, к внешнему порту добавьте единицу, т.е., 8101, 8102, 8103 и т. д.

    sudo vi /opt/findface-multi/docker-compose.yaml
    
    findface-tarantool-server-shard-001:
      depends_on: [findface-ntls]
      environment: {CFG_EXTRA_LUA: loadfile("/tnt_schema.lua")(), CFG_LISTEN_HOST: 0.0.0.0,
        CFG_LISTEN_PORT: '8101', CFG_NTLS: 'findface-ntls:3133', TT_CHECKPOINT_COUNT: 3,
        TT_CHECKPOINT_INTERVAL: '14400', TT_FORCE_RECOVERY: 'true', TT_LISTEN: '0.0.0.0:32001',
        TT_MEMTX_DIR: snapshots, TT_MEMTX_MEMORY: '2147483648', TT_WAL_DIR: xlogs, TT_WORK_DIR: /var/lib/tarantool/FindFace}
      image: docker.int.ntl/ntech/universe/tntapi:ffserver-12.241211.2
      logging: {driver: journald}
      networks: [product-network]
      restart: always
      ports: ['8101:8101']
      volumes: ['./data/findface-tarantool-server/shard-001:/var/lib/tarantool/FindFace',
        './configs/findface-tarantool-server/tnt-schema.lua:/tnt_schema.lua:ro']
    findface-tarantool-server-shard-002:
      depends_on: [findface-ntls]
      environment: {CFG_EXTRA_LUA: loadfile("/tnt_schema.lua")(), CFG_LISTEN_HOST: 0.0.0.0,
        CFG_LISTEN_PORT: '8101', CFG_NTLS: 'findface-ntls:3133', TT_CHECKPOINT_COUNT: 3,
        TT_CHECKPOINT_INTERVAL: '14400', TT_FORCE_RECOVERY: 'true', TT_LISTEN: '0.0.0.0:32001',
        TT_MEMTX_DIR: snapshots, TT_MEMTX_MEMORY: '2147483648', TT_WAL_DIR: xlogs, TT_WORK_DIR: /var/lib/tarantool/FindFace}
      image: docker.int.ntl/ntech/universe/tntapi:ffserver-12.241211.2
      logging: {driver: journald}
      networks: [product-network]
      restart: always
      ports: ['8102:8101']
      volumes: ['./data/findface-tarantool-server/shard-002:/var/lib/tarantool/FindFace',
        './configs/findface-tarantool-server/tnt-schema.lua:/tnt_schema.lua:ro']
    
  5. Перезапустите контейнеры.

    cd /opt/findface-multi/
    sudo docker-compose down
    sudo docker-compose up -d
    
  6. Укажите шарды в файле конфигурации /opt/findface-multi/configs/findface-sf-api/findface-sf-api.yaml.

    sudo vi /opt/findface-multi/configs/findface-sf-api/findface-sf-api.yaml
    
    ...
      shards:
      - master: http://172.168.1.11:8101/v2/
        slave: ''
      - master: http://172.168.1.11:8102/v2/
        slave: ''
    
  7. Перезапустите контейнеры FindFace Multi, чтобы применились миграции.

    cd /opt/findface-multi/
    
    sudo docker-compose restart
    

Настройка сетевого взаимодействия

После развертывания компонентов FindFace Multi настройте их взаимодействие по сети. Выполните следующие действия:

  1. Откройте файл конфигурации /opt/findface-multi/configs/findface-sf-api/findface-sf-api.yaml:

    sudo vi /opt/findface-multi/configs/findface-sf-api/findface-sf-api.yaml
    

    Задайте следующие параметры:

    Параметр

    Описание

    extraction-apiextraction-api

    IP-адрес и слушающий порт сервера, являющегося шлюзом для серверов экстракции с настроенной балансировкой нагрузки.

    storage-apishardsmaster

    IP-адрес и порт мастера шарда findface-tarantool-server. Остальные шарды прописываются по аналогии.

    upload_url

    Путь в WebDAV Nginx, по которому в компонент findface-upload будут отправляться исходные изображения, миниатюры и нормализованные изображения объектов.

    ...
    extraction-api:
      extraction-api: http://172.168.1.9:18667
    
    ...
    webdav:
      upload-url: http://findface-upload:3333/uploads/
    
    ...
    storage-api:
      ...
      shards:
      - master: http://172.168.1.9:8101/v2/
        slave: ''
      - master: http://172.168.1.9:8102/v2/
        slave: ''
      - master: http://172.168.1.12:8101/v2/
        slave: ''
      - master: http://172.168.1.12:8102/v2/
        slave: ''
      - master: http://172.168.1.13:8102/v2/
        slave: ''
      - master: http://172.168.1.13:8102/v2/
        slave: ''
    

    Перезапустите контейнер findface-multi-findface-sf-api-1.

    sudo docker restart findface-multi-findface-sf-api-1
    
  2. Откройте файл конфигурации /opt/findface-multi/configs/findface-multi-legacy/findface-multi-legacy.py.

    sudo vi /opt/findface-multi/configs/findface-multi-legacy/findface-multi-legacy.py
    

    Задайте следующие параметры:

    Параметр

    Описание

    SERVICE_EXTERNAL_ADDRESS

    IP-адрес или URL FindFace Multi, являющийся приоритетным для вебхуков. Если параметр не задан, система использует для работы с данным функционалом EXTERNAL_ADDRESS. Для использования вебхуков обязательно укажите по крайней мере один из параметров SERVICE_EXTERNAL_ADDRESS/ EXTERNAL_ADDRESS.

    EXTERNAL_ADDRESS

    (Опционально) IP-адрес или URL, который используется для доступа к веб-интерфейсу FindFace Multi. Если параметр не задан, система автоматически определяет его как внешний IP-адрес. Для доступа в FindFace Multi вы можете использовать оба IP-адреса: как автоопределенный, так и указанный в EXTERNAL_ADDRESS.

    VIDEO_DETECTOR_TOKEN

    Придумайте токен и укажите его в данном параметре, чтобы авторизовать модуль видеодетекции объектов.

    VIDEO_MANAGER_ADDRESS

    IP-адрес сервера findface-video-manager.

    NTLS_HTTP_URL

    IP-адрес сервера findface-ntls.

    ROUTER_URL

    Внешний IP-адрес сервера findface-multi-legacy, который будет получать обнаруженные объекты от экземпляра(ов) findface-video-worker.

    SF_API_ADDRESS

    IP-адрес сервера findface-sf-api.

    sudo vi /opt/findface-multi/configs/findface-multi-legacy/findface-multi-legacy.py
    
    ...
    SERVICE_EXTERNAL_ADDRESS = 'http://172.168.1.9'
    ...
    EXTERNAL_ADDRESS = 'http://172.168.1.9'
    
    
    ...
    FFSECURITY = {
        'VIDEO_DETECTOR_TOKEN': '7ce2679adfc4d74edcf508bea4d67208',
        ...
        'NTLS_HTTP_URL': 'http://findface-ntls:3185',
        ...
        'ROUTER_URL': 'http://172.168.1.9',
        ...
        'VIDEO_MANAGER_ADDRESS': 'http://findface-video-manager:18810',
        'SF_API_ADDRESS': 'http://findface-sf-api:18411',
        ...
    }
    

    Выполните перезапуск контейнеров FindFace Multi.

    cd /opt/findface-multi/
    
    sudo docker-compose restart
    

На этом установка FindFace Multi в многосерверной среде будет завершена.

Важно

Для того чтобы сохранить совместимость FindFace Multi со средой установки, настоятельно рекомендуется отключить автоматическое обновление Ubuntu. В этом случае вы сможете обновлять ОС вручную, контролируя процесс обновления отдельных пакетов.

Для отключения автоматического обновления Ubuntu выполните следующие команды:

sudo apt-get remove unattended-upgrades
sudo systemctl stop apt-daily.timer
sudo systemctl disable apt-daily.timer
sudo systemctl disable apt-daily.service
sudo systemctl daemon-reload

Важно

Сервисы FindFace Multi логируют большой объем данных, что в конечном итоге может привести к чрезмерной загрузке диска. Чтобы этого не произошло, рекомендуется отключить сервис rsyslog из-за его неоптимальной схемы ротации логов и вместо него использовать правильно настроенный сервис systemd-journal. См. пошаговые инструкции в разделе Логирование.