Tarantool CE/EE Documentation portal logo
Помощь
Обновлена 15 сентября 2026 г. в 08:55

Начало работы с Tarantool Cluster Manager

Пример на GitHub: tcm_get_started

В этом руководстве описывается запуск TCM на локальной системе, развертывание локального кластера Tarantool EE и управление кластером через веб-интерфейс TCM.

Для прохождения этого руководства потребуется:

  • Машина Linux с glibc 2.17 или новее.
  • Веб-браузер: на базе Chromium (Chromium версии 108 или новее), Mozilla Firefox 101 или новее, либо другой актуальный браузер.
  • Tarantool Enterprise Edition SDK 3.0 или новее в виде архива tar.gz.

Информацию о получении архива см. здесь.

Подробнее об использовании TCM см. здесь.

Настройка Tarantool EE

  1. Распакуйте архив Tarantool EE SDK:

    $ tar -xvzf tarantool-enterprise-sdk-gc64-<VERSION>-<HASH>-r<REVISION>.linux.x86_64.tar.gz

    В результате рядом с архивом создается директория tarantool-enterprise. В ней содержатся три исполняемых файла с ключевыми компонентами Tarantool EE:

  2. Добавьте компоненты Tarantool EE в путь выполнения, запустив входящий в дистрибутив скрипт env.sh:

    $ source tarantool-enterprise/env.sh
  3. Чтобы убедиться, что исполняемые файлы Tarantool EE –- tarantool, tt и tcm –- доступны в системе, выведите их версии:

    $ tarantool --versionTarantool Enterprise 3.0.0-0-gf58f7d82a-r23-gc64Target: Linux-x86_64-RelWithDebInfoBuild options: cmake . -DCMAKE_INSTALL_PREFIX=/home/centos/release/sdk/tarantool/static-build/tarantool-prefix -DENABLE_BACKTRACE=TRUECompiler: GNU-9.3.1C_FLAGS: -fexceptions -funwind-tables -fasynchronous-unwind-tables -static-libstdc++ -fno-common -msse2  -fmacro-prefix-map=/home/centos/release/sdk/tarantool=. -std=c11 -Wall -Wextra -Wno-gnu-alignof-expression -fno-gnu89-inline -Wno-cast-function-type -O2 -g -DNDEBUG -ggdb -O2CXX_FLAGS: -fexceptions -funwind-tables -fasynchronous-unwind-tables -static-libstdc++ -fno-common -msse2  -fmacro-prefix-map=/home/centos/release/sdk/tarantool=. -std=c++11 -Wall -Wextra -Wno-invalid-offsetof -Wno-gnu-alignof-expression -Wno-cast-function-type -O2 -g -DNDEBUG -ggdb -O2$ tt versionTarantool CLI EE 2.1.0, linux/amd64. commit: d80c2e3$ tcm version1.0.0-0-gd38b12c2

Запуск TCM

Тarantool Cluster Manager готов к запуску без дополнительной настройки. Чтобы запустить TCM, выполните следующую команду:

$ tcm --storage.etcd.embed.enabled

Параметр storage.etcd.embed.enabled запускает собственный экземпляр etcd при начальной загрузке TCM. Этот экземпляр etcd используется для хранения конфигурации TCM.

Вход в TCM

  1. Откройте веб-браузер и перейдите по адресу http://127.0.0.1:8080/.
  2. Введите имя пользователя и пароль, полученные из журнала начальной загрузки TCM на предыдущем шаге.
  3. Нажмите Log in.

После успешного входа открывается веб-интерфейс TCM:

Панель состояния TCM с пустым кластером

Настройка кластера Tarantool EE

Для подготовки кластера Tarantool EE выполните следующие шаги:

  1. Задайте параметры подключения кластера в TCM.
  2. Настройте конфигурацию кластера в TCM.
  3. Запустите экземпляры кластера локально с помощью утилиты tt.

Настройка параметров подключения кластера в TCM

В только что установленном TCM имеется предопределенный кластер с именем Default cluster. Сразу после установки у него нет ни конфигурации, ни топологии. Его начальные свойства включают параметры подключения к etcd и Tarantool. Проверьте эти свойства, чтобы узнать, куда TCM отправляет записываемую конфигурацию кластера.

Чтобы просмотреть свойства Default cluster:

  1. Перейдите в раздел Clusters и нажмите Edit в меню Actions напротив имени кластера.

Редактирование кластера в TCM

  1. Нажмите Next на вкладке General.

Общие настройки кластера

  1. Найдите параметры подключения к хранилищу конфигурации, которое использует кластер. По умолчанию это экземпляр etcd, запущенный на порту 2379 (порт etcd по умолчанию) на том же хосте. Префикс ключа, используемый для конфигурации кластера, –- /default. Нажмите Next.

Настройки хранилища конфигурации кластера

  1. Проверьте пользователя Tarantool, которого TCM использует для подключения к экземплярам кластера. По умолчанию это guest.

Настройки подключения к Tarantool в кластере

Настройка конфигурации кластера в TCM

В TCM предусмотрен веб-редактор для написания конфигураций кластера. Он подключен к хранилищу конфигурации (в данном случае –- etcd): все изменения, внесенные в браузере, отправляются в etcd одним нажатием.

Чтобы создать конфигурацию кластера и загрузить её в хранилище etcd:

  1. Перейдите в раздел Configuration.

  2. Нажмите + и задайте произвольное имя для файла конфигурации, например, all.

  3. Вставьте следующую конфигурацию YAML в редактор:

    credentials:  users:    guest:      roles: [super]groups:  group-001:    replicasets:      replicaset-001:        replication:          failover: manual        leader: instance-001        instances:          instance-001:            iproto:              listen:              - uri: '127.0.0.1:3301'              advertise:                client: '127.0.0.1:3301'          instance-002:            iproto:              listen:              - uri: '127.0.0.1:3302'              advertise:                client: '127.0.0.1:3302'          instance-003:            iproto:              listen:              - uri: '127.0.0.1:3303'              advertise:                client: '127.0.0.1:3303'

    Эта конфигурация создает кластер из трех узлов в одном наборе реплик: один лидер и два последователя.

  4. Нажмите Apply, чтобы отправить конфигурацию в etcd.

Конфигурация кластера в TCM

После сохранения конфигурации кластера топологию можно увидеть на странице Stateboard:

Панель состояния кластера в офлайн-режиме

Однако экземпляры кластера находятся в офлайн-режиме, так как они еще не развернуты.

Локальное развертывание кластера

Для развертывания локального кластера на основе конфигурации из etcd:

  1. Перейдите в системный терминал, использованный при настройке Tarantool.

  2. Создайте новую среду tt в выбранной директории:

    $ mkdir cluster-env$ cd cluster-env/$ tt init
  3. Внутри директории instances.enabled созданной среды tt создайте директорию cluster.

    $ mkdir instances.enabled/cluster$ cd instances.enabled/cluster/
  4. Внутри instances.enabled/cluster создайте файлы instances.yml и config.yaml:

    • instances.yml задает экземпляры для запуска в текущей среде. В этом примере используется три экземпляра:

      instance-001:instance-002:instance-003:
    • config.yaml указывает tt загружать конфигурацию кластера из etcd.

    Указанное расположение etcd совпадает с хранилищем конфигурации Default cluster в TCM:

    config:  etcd:    endpoints:    - http://localhost:2379    prefix: /default
  5. Запустите кластер из корня среды tt (директория cluster-env):

    $ tt start cluster

    Чтобы убедиться, что кластер стартовал, выполните команду tt status. Вывод должен выглядеть следующим образом:

    $ tt status clusterINSTANCE              STATUS   PID   MODE  CONFIG  BOX      UPSTREAMcluster:instance-001  RUNNING  8747  RW    ready   running  --cluster:instance-002  RUNNING  8748  RO    ready   running  --cluster:instance-003  RUNNING  8749  RO    ready   running  --

Управление кластером в TCM

Чтобы научиться работать с кластером в TCM, выполните типовые задачи работы с базой данных:

  • Проверка состояния кластера.
  • Создание спейса.
  • Запись данных.
  • Просмотр данных.

Проверка состояния кластера

Чтобы проверить состояние кластера в TCM, перейдите в раздел Stateboard. Здесь отображается обзор топологии кластера, состояния, потребления памяти и другие сведения.

Панель состояния кластера в онлайн-режиме

Подключение к экземпляру

Чтобы просмотреть подробную информацию об экземпляре, нажмите на его имя в списке экземпляров на странице Stateboard.

Детали экземпляра в TCM

Для интерактивного подключения к экземпляру и выполнения кода на нем перейдите на вкладку Terminal.

Терминал экземпляра в TCM

Создание спейса

Перейдите в терминал instance-001 (экземпляр-лидер) и выполните следующий код, чтобы создать форматированный спейс с первичным индексом в кластере:

--  ../../code_snippets/snippets/config/instances.enabled/tcm_get_started/myapp.luafunction create_space()    box.schema.space.create('bands')    box.space.bands:format({        { name = 'id', type = 'unsigned' },        { name = 'band_name', type = 'string' },        { name = 'year', type = 'unsigned' }    })    box.space.bands:create_index('primary', { type = "tree", parts = { 'id' } })    box.schema.user.grant('guest', 'read,write,execute', 'universe')end

Запись данных

Поскольку instance-001 является экземпляром для работы в режиме чтения и записи (значение box.info.ro –- false), запросы на запись должны выполняться на нем. Выполните следующий код в терминале instance-001, чтобы добавить кортежи в спейс:

--  ../../code_snippets/snippets/config/instances.enabled/tcm_get_started/myapp.luafunction load_data()    box.space.bands:insert { 1, 'Roxette', 1986 }    box.space.bands:insert { 2, 'Scorpions', 1965 }    box.space.bands:insert { 3, 'Ace of Base', 1987 }end

Чтение данных

Проверьте кортежи спейса, выполнив запрос на чтение на instance-001:

--  ../../code_snippets/snippets/config/instances.enabled/tcm_get_started/myapp.luafunction select_data()    box.space.bands:select { 3 }end

Так это выглядит в TCM:

Запись данных через TCM

Проверка репликации

Чтобы убедиться, что данные реплицируются между экземплярами, выполните запрос на чтение на любом другом экземпляре –- instance-002 или instance-003. Результат будет таким же, как на instance-001.

Чтение данных через TCM

Просмотр данных в TCM

В веб-интерфейсе TCM предусмотрен инструмент для просмотра данных, хранящихся в кластере. Чтобы просмотреть кортежи спейса в TCM:

  1. Нажмите на имя экземпляра на странице Stateboard.
  2. Откройте меню Actions в правом верхнем углу и нажмите Explorer.

Открытие Explorer в TCM

  1. Нажмите View в меню Actions напротив спейса, который нужно просмотреть. На странице отобразятся все ранее добавленные кортежи.

TCM Explorer: кортежи спейса