Руководство по установке
Данное Руководство описывает процесс установки продукта Tarantool Queue Enterprise, функциональность MQ (далее по тексту – 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 можно установить двумя способами. Эти два способа различаются на этапе подготовки:
- Подготовка к установке локального экземпляра из архива;
- Подготовка к установке локального экземпляра из 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 в файлах:
config.yml- настройки ядра;config.service.yml- настройки API;instances.yml- имена экземпляров, которые перечислены вconfig.yml. См. подробнее.
-
Перейдите к процедуре установки локального экземпляра;
- Если вы используете 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 в файлах:
config.yml- настройки ядра;config.service.yml- настройки API;instances.yml- имена экземпляров, которые перечислены вconfig.yml. См. подробнее.
-
Перейдите к процедуре установки локального экземпляра;
При установке локального экземпляра 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.ConsumerService/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