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

Подготовка к запуску#

Убедитесь в том, что вы являетесь root-пользователем перед тем, как начать запуск!

Перед запуском LUNA Index Module необходимо выполнить следующие действия:

Распаковка дистрибутива#

Дистрибутив представляет собой архив lim_v.5.86.0, где v.5.86.0 это числовой идентификатор, обозначающий версию LIM.

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

Переместите дистрибутив в директорию на вашем сервере перед установкой. Например, переместите файлы в директорию /root/. В ней не должно быть никакого другого дистрибутива или файлов лицензии кроме целевых.

Переместите дистрибутив в директорию /var/lib/luna/.

mv /root/lim_v.5.86.0.zip /var/lib/luna/

Установите приложение для распаковки архива при необходимости

yum install -y unzip

Откройте папку с дистрибутивом

cd /var/lib/luna/

Распакуйте файлы

unzip lim_v.5.86.0.zip

Создайте символическую ссылку. Она показывает, что актуальная версия файла дистрибутива используется для запуска LIM.

ln -s lim_v.5.86.0 lim-current

Создание директории для индексов#

Для хранения индексов и взаимодействия с ними на сервере нужно создать соответствующую директорию. Эта директория будет смонтирована при запуске сервисов LIM.

Создайте папку для хранения индексов:

mkdir -p /var/lib/luna/lim_storage

Присвойте соответствующие права для возможности чтения/записи данной папки:

chown -R 1001:0 /var/lib/luna/lim_storage

SELinux и Firewall#

SELinux и Firewall необходимо настроить так, чтобы они не блокировали сервисы LUNA PLATFORM.

Конфигурация SELinux и Firewall не описываются в данном руководстве.

Если SELinux и Firewall не настроены, дальнейшая установка невозможна.

Авторизация в registry#

При запуске контейнеров необходимо указать ссылку на образ, необходимый для запуска контейнера. Этот образ загружается из VisionLabs registry. Перед этим необходима авторизация.

Логин и пароль можно запросить у представителя VisionLabs.

Введите логин .

После выполнения команды будет запрошен ввод пароля. Введите пароль.

В команде docker login можно вводить логин и пароль одновременно, однако это не гарантирует безопасность, т.к. пароль можно будет увидеть в истории команд.

Выбор способа записи логов#

В LUNA PLATFORM существует два способа вывода логов:

  • стандартный вывод логов (stdout);
  • вывод логов в файл.

Настройки вывода логов задаются в настройках каждого сервиса в секции <SERVICE_NAME>_LOGGER.

При необходимости можно использовать оба способа вывода логов.

Для более подробной информации о системе логирования LUNA PLATFORM см. раздел "Логирование информации" в руководстве администратора.

Запись логов в stdout#

Данный способ используется по умолчанию и для него не требуется выполнять дополнительных действий.

Запись логов в файл#

Примечание. При включении сохранения логов в файле необходимо помнить о том, что логи занимают определенное место в хранилище, а процесс логирования в файл негативно влияет на производительность системы.

Для использования данного способа необходимо выполнить следующие дополнительные действия:

  • перед запуском сервисов: создать директории для логов на сервере;
  • после запуска сервисов: активировать запись логов и задать расположение хранения логов внутри контейнеров сервисов LP;
  • во время запуска сервисов: настроить синхронизацию директорий логов в контейнере с логами на сервере с помощью аргумента volume при старте каждого контейнера.

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

Обратите внимание, что вышеперечисленные действия должны выполняться перед, во время и после запуска сервисов. Запись логов в файл не будет работать если выполнять все действия после запуска контейнеров.

См. инструкцию по включению записи логов в файлы в разделе "Запись логов на сервер".

Загрузка настроек LIM в Configurator#

Для использования сервисов LIM с LP 5 необходимо загрузить их настройки в сервис Configurator, используя механизм миграции конфигураций.

docker run \
-v /etc/localtime:/etc/localtime:ro \
--rm \
--entrypoint='' \
--network=host \
dockerhub.visionlabs.ru/luna/lim-configs:v.0.6.1 python3 -m configs.migrate head --config_db_url postgres://luna:luna@127.0.0.1:5432/luna_configurator

--config_db_url postgres://luna:luna@127.0.0.1:5432/luna_configurator — флаг указания адреса БД luna_configurator

Обновление настроек в Configurator#

Далее необходимо включить использование сервиса Python Matcher Proxy и добавить плагин сравнения в список плагинов, используемых сервисом Python Matcher Proxy.

Скопируйте файл с необходимыми настройками в контейнер Configurator:

docker cp /var/lib/luna/lim-current/example-docker/configs/lim_settings.json luna-configurator:/srv/lim_settings.json

Обновите настройки в сервисе Configurator:

docker exec -it luna-configurator python3 ./base_scripts/db_create.py --dump-file /srv/lim_settings.json

В результате в сервисе Configurator будут обновлены следующие настройки:

LUNA_MATCHER_PROXY_ACTIVE_PLUGINS = ["indexed_matcher"]
ADDITIONAL_SERVICES_USAGE = "luna_matcher_proxy":true