Запуск 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;

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

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

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

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

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

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

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

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

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

tar -xzvf tdbredis-<VERSION>.tar.gz

Здесь:

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

Пример: tdbredis-2.0.0.tar.gz.

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

Замените содержимое файла config.yaml на следующее:

config:
  etcd:
    prefix: /tcs
    http:
      request:
        timeout: 1
    endpoints:
    - http://localhost:2379

Установите, запустите и проверьте работоспособность etcd согласно инструкции.

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

./tt cluster publish http://localhost:2379/tdbredis source.yaml

Оставаясь в директории tdbredis/, запустите координатор для восстановления после сбоев (failover-координатор). Находиться в этой директории обязательно, так как загрузка модулей должна обнаружить модули в {override/internal,.rocks}

./tarantool --failover --config config.yaml &>tarantool-failover.log &
echo $! > tarantool-failover.pid
cd -

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

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

./tt start

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

./tt status

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

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

Подключиться к узлу хранилища по протоколу 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.

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

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

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

./tt stop

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

FAILOVER_PID=$(cat tarantool-failover.pid)
kill -9 $FAILOVER_PID

После этого можно остановить etcd.

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