Руководство по установке
В Руководстве описан процесс установки продукта TQE(MQ), для промышленного использования. Процедура быстрой установки и запуска приложения (локально и с помощью Docker), предназначенная для ознакомления с продуктом TQE(MQ), приведена в Руководстве пользователя.
Требования к окружению:
- Процессор: не менее 4 ядер.
- Оперативная память: не менее 35 ГБ.
Системные требования:
- Библиотека
glibcверсии 2.17-260.el7_6.6 и выше. - Операционная система: RED OS 7.3 или Astra Linux.
- Tarantool или Tarantool EE версии, совместимой с используемой версией TQE(MQ).
Пакет поставки TQE(MQ) выложен в Customer zone в
каталоге packages/message-queue-ee/release/linux/x86_64.
Для получения доступа:
- В браузере откройте веб-сайт Tarantool.
- В верхнем меню сайта нажмите кнопку Вход. Откроется форма авторизации для входа в учетную запись.
- Введите логин и пароль для аутентификации.
- Нажмите кнопку Вход.
- В верхнем меню сайта нажмите на значок Профиль.
- В выпадающем меню нажмите кнопку Личный кабинет.
- В пространстве с папками продуктов в поле
Search for namesвведите message-queue. - Нажмите на найденное имя продукта.
- Перейдите в релизную папку нужной версии и скачайте необходимые артефакты:
- Архив
tarantool-message-queue-ee-vX.X.X.linux.x86_64.tar.gz. - Rpm-пакет
message-queue-ee-vX.X.X.linux.x86_64.rpm- программный пакет, собранный для операционной системы RED OS. Этот пакет также подходит для операционных систем, аналогичных RED OS (например, Astra Linux). - Docker-образ
docker-message-queue-ee-vX.X.X.tar.gz.
- Архив
Каждый артефакт из перечисленных артефактов включает:
- Приложение TQE(MQ).
- Приложение tarantool версии, совместимой с TQE(MQ).
- Бинарные файлы tarantool.
- Пояснительный файл README.
- Примеры настроек кластеров для TQE(MQ) (в каталоге
examples/).
Экземпляр очереди TQE можно установить локально и в docker Есть 2 способа локальной установки, они различаются на этапе подготовки:
- Подготовка к установке локального экземпляра из архива.
- Подготовка к установке локального экземпляра из Rpm-пакета.
- Если вы используете архив, распакуйте его:
tar -xzf tarantool-message-queue-ee-vX.X.X.linux.x86_64.tar.gz
- Перейдите в каталог верхнего уровня:
cd message-queue-ee
- Установите бинарные файлы в
$PATH:
export PATH=$PWD:$PATH
-
В каталоге верхнего уровня проверьте и при необходимости измените настройки TQE в файлах:
-
Перейдите к процедуре установки локального экземпляра.
- Если вы используете Rpm-пакет, выполните его установку:
sudo rpm -Uvh message-queue-ee-vX.X.X.linux.x86_64.rpm
- Перейдите в каталог верхнего уровня:
cd /usr/share/tarantool/message-queue-ee
- Установите бинарные файлы в
$PATH:
export PATH=$PWD/bin:$PATH
-
В каталоге верхнего уровня проверьте и при необходимости измените настройки TQE в файлах:
-
Перейдите к процедуре установки локального экземпляра.
При установке локального экземпляра TQE(MQ) рекомендуется указывать флаг -d для запуска приложения в фоновом режиме.
В этом режиме приложение не блокирует терминал и продолжает работать после закрытия терминала.
- Запустите ядро TQE:
tt start
- Запустите модуль API в фоновом режиме:
message-queue-ee -d -config config.service.yml
- Проверьте статус запуска:
tt status
В ответе должна возвращаться информация о том, что приложение message-queue находится в рабочем состоянии:
INSTANCE STATUS PID MODE CONFIG BOX UPSTREAMmessage-queue:app RUNNING 571960 RW ready running --
- Для подключения TQE к кластеру Tarantool и приведения настроек к согласованному состоянию выполните команду:
tt replicaset vshard bootstrap .
Очередь готова принимать и передавать сообщения.
Процедура, описанная в этом разделе Руководства, необязательна: она описывает установку преднастроенных примеров. Эти примеры могут помочь изучить работу приложения с различными настройками.
- Перейдите в папку с примерами:
cd examples
-
Изучите примеры и выберите подходящий. В каждом примере содержится файл README с подробными пояснениями.
-
Запустите нужный пример из каталога
examples/.
tt start <имя-примера>
- Для остановки примера выполните команду остановки.
Установка TQE(MQ) с помощью docker-образа требует, чтобы контейнеры core (экземпляр Tarantool)
и app (gRPC API) находились в одной сети.
Для установки TQE(MQ) с помощью docker-образа:
- Создайте виртуальную сеть, чтобы контейнеры
coreиappмогли обмениваться данными:
docker network create tqe-net
- Запустите контейнер
core:
docker run -d \--name core \--network tqe-net \-e AUTO_BOOTSTRAP=true \-p 3301:3301 \-p 8081:8081 \-v "$(pwd)/examples/docker/config.yml:/message-queue-ee/config.yml" \-v "$(pwd)/examples/docker/instances.yml:/message-queue-ee/instances.yml" \tarantool/message-queue-ee \tarantool --name core --config config.yml
- Запустите контейнер
app:
docker run -d \--name app \--network tqe-net \-p 18184:18184 \-p 18182:18182 \-v "$(pwd)/examples/docker/config.service.yml:/message-queue-ee/config.service.yml" \tarantool/message-queue-ee \message-queue-ee -config=config.service.yml
Работа приложения, установленного локально или в Docker, проверяется в среде установки.
Для работы скриптов необходимо установить утилиту grpcurl.
- Работа приложения проверяется командой:
$ ./scripts/test.sh localhost:18182Test passed.
Сообщение Test passed. свидетельствует о корректной установке и работе дистрибутива.
- При наличии ошибок в установке или работе приложения выполнение скрипта
test.shвыдает сообщение:
$ ./scripts/test.sh localhost:18182Test failed: message id expected "1", got "2".
Сообщение информирует о проблемах и необходимости проверить корректность настроек на этапе конфигурации приложения.
Проверка публикации в очередь сообщений выполняется командой:
$ grpcurl -plaintext -format text -d 'queue:"queue" messages:{ payload:"TestGeneratedMessage" metadata:{ key:"date" value:"121225" } }' \localhost:18182 tarantool.queue_ee.Producer/Produce
Ожидаемый ответ:
ids: 7427358492534505472is_duplicates: false
Для проверки подписки нужно выполнить следующую последовательность действий:
- Откройте двунаправленный поток командой:
$ grpcurl -plaintext -d @ \localhost:18182 tarantool.queue_ee.Consumer/Subscribe
- Отправьте запрос на подписку:
{"subscribe_request": {"queue": "queue", "cursor": ""}}
Ожидаемый ответ:
{"notifications":[{"cursor": "AQAAAAAAAAAJAAAAAAAAAHN0b3JhZ2UtMQAAwICKOwxm","message": {"id": "7358127929391316992","queue": "queue","payload": "SomeData","metadata": [{"key": "date","value": "121225"}],"timestamp": "1753167571459351000"}},]}
Совпадение идентификаторов сообщений (поля id) при публикации в очередь и подписке на нее
свидетельствует о корректной установке приложения и настройки очереди сообщений.
TQE можно развернуть при помощи инструментов Ansible Tarantool Enterprise (ATE). См. подробнее.
Остановка экземпляра может потребоваться для обслуживания оборудования или диагностики работы приложения.
- Для остановки работы экземпляра TQE выполните команду:
tt stop
- Для остановки и очистки Docker от ранее установленного экземпляра TQE выполните команду:
docker stop core app && docker rm core app && docker network rm tqe-net