Подготовка к запуску#
Убедитесь в том, что вы являетесь root-пользователем перед тем, как начать запуск!
Перед запуском LUNA Index Module необходимо выполнить следующие действия:
- Распаковать дистрибутив LIM
- Создать символическую ссылку
- Создать директорию для хранения индексов
- Настроить SELinux и Firewall
- Авторизироваться в registry VisonLabs
- Выбрать способ записи логов
- Загрузить настройки LIM в Configurator
- Обновить настройки LIM в Configurator
Распаковка дистрибутива#
Дистрибутив представляет собой архив 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 dockerhub.visionlabs.ru --username <username>
После выполнения команды будет запрошен ввод пароля. Введите пароль.
В команде
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