Запуск Tarantool DB (RESP) с помощью TT CLI | Tdb_Resp
Руководство администратора Развертывание Запуск Tarantool DB (RESP) с помощью TT CLI

Запуск Tarantool DB (RESP) с помощью TT CLI

В этом руководстве показано, как развернуть Tarantool DB (RESP) локально, используя утилиту TT CLI (tt).

Содержание:

Пререквизиты

Для выполнения примера требуются:

  • архив для развёртывания Tarantool DB (RESP). Архив можно скачать в личном кабинете tarantool.io в разделе tdb-redis;

  • утилита TT CLI.

Используемые файлы

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

  • tt.yamlконфигурация TT CLI. Чтобы сгенерировать этот файл, используется команда tt init;

  • tarantool_config_storage/ – директория с файлами для запуска кластера хранилища конфигураций:

    • config.yaml – конфигурация и топология хранилища конфигураций;

    • instances.yml – список узлов хранилища конфигураций;

  • tdbredis/ – директория с файлами для запуска кластера Tarantool DB (RESP):

    • source.yaml – конфигурация и топология кластера Tarantool DB (RESP);

    • config.yaml – конфигурация, указывающая расположение хранилища конфигурации;

    • instances.yml – список узлов кластера Tarantool DB (RESP);

  • tdbredis/.rocks/share/tarantool/failover.lua – пользовательский override-модуль координатора для восстановления после сбоев (tarantool --failover);

  • tdbredis/.rocks/share/tarantool/sentinel.lua – модуль, реализующий интерфейс Sentinel;

  • tdbredis/.rocks/lib/tarantool/libtdbredis_sentinel.so – нативная библиотека, часть реализации интерфейса Sentinel;

  • другие модули из tdbredis/.rocks.

Запуск стенда

Распакуйте архив для развёртывания Tarantool DB (RESP):

tar -xzvf tdb-redis-<VERSION>.tar.gz

Здесь:

  • VERSION – версия продукта.

Пример: tdb-redis-1.1.1.tar.gz.

При распаковке будет создана директория tdb-redis. Перейдите в неё.

Запустите экземпляры хранилища конфигураций с помощью команды tt start:

tt start tarantool_config_storage

Проверить состояние узлов можно, используя команду tt status:

tt status tarantool_config_storage

Загрузите конфигурацию кластера Tarantool DB (RESP) в централизованное хранилище конфигураций:

LEADER_NODE_NUMBER=$(echo 'box.info.election.leader' | tt connect -x lua tarantool_config_storage:instance001 | cut -b 1)
LEADER_NODE_NAME=$(echo "box.info.replication[$LEADER_NODE_NUMBER].name" | tt connect -x lua "tarantool_config_storage:instance001" | cut -d ';' -f 1 | cut -d '"' -f 2)
LEADER_NODE_ADDRESS=$(echo "box.info.listen" | tt connect -x lua "tarantool_config_storage:$LEADER_NODE_NAME" | cut -d ';' -f 1 | cut -d '"' -f 2)
tt cluster publish "http://sampleuser:123456@$LEADER_NODE_ADDRESS/tdbredis" instances.enabled/tdbredis/source.yaml

Перейдите в директорию instances.enabled/tdbredis/ и запустите координатор для восстановления после сбоев (failover-координатор):

# Переход в директорию обязателен, так как загрузка модулей должна обнаружить
# модули в `instances.enabled/tdbredis/{override/internal,.rocks}`
cd instances.enabled/tdbredis/
tarantool --failover --config config.yaml &>tarantool-failover.log &
echo $! > tarantool-failover.pid
cd -

Лог координатора хранится в файле tarantool-failover.log.

Запустите экземпляры Tarantool DB (RESP) с помощью команды tt start:

tt start tdbredis

Проверить состояние узлов можно, используя команду tt status:

tt status tdbredis

Теперь кластер доступен.

Подключение к узлу кластера

Подключиться к узлу хранилища по протоколу RESP можно с помощью команды redis-cli или другого клиента Redis. Эта команда открывает интерактивную консоль RESP:

redis-cli -p 6379

Задать порт для узла можно в опции roles_cfg.tdb_redis_role.port в файле конфигурации tdbredis/source.yaml. В поставляемом шаблоне конфигурации порты у разных узлов разные, так как все экземпляры запускаются на одной машине.

Кроме того, по протоколу RESP можно подключиться к интерфейсу Sentinel:

redis-cli -p 26379

В этой консоли доступны команды Sentinel, например:

127.0.0.1:26379> sentinel get-master-addr-by-name replicaset001
1) "127.0.0.1"
2) "6379"

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

Имя набора реплик указано в tdbredis/source.yaml: groups.group001.replicasets.replicaset001.

Остановка стенда

Остановить кластер Tarantoo DB (RESP) можно с помощью команды tt stop:

tt stop tdbredis

Затем остановите failover-координатор:

cd instances.enabled/tdbredis/
FAILOVER_PID=$(cat tarantool-failover.pid)
kill -9 $FAILOVER_PID
cd -

После этого остановите хранилище конфигураций:

tt stop tarantool_config_storage
Нашли ответ на свой вопрос?
Обратная связь