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

Запуск и остановка экземпляров

В этом разделе описано управление экземплярами в кластере Tarantool с помощью утилиты tt. Кластер может включать несколько экземпляров, выполняющих разный код. Типичный пример - кластерное приложение, включающее экземпляры роутеров и хранилищ. В частности, доступны следующие действия:

  • Запуск всех экземпляров в кластере или отдельных экземпляров.
  • Проверка статуса экземпляров.
  • Подключение к конкретному экземпляру.
  • Остановка всех экземпляров или отдельных экземпляров.

Подробнее о том, как может выглядеть структура приложения, см. в разделе Окружение и структура приложения.

Запуск экземпляров Tarantool

Для запуска экземпляров Tarantool используйте команду tt start:

$ tt start sharded_cluster_crud   • Starting an instance [sharded_cluster_crud:storage-a-001]...   • Starting an instance [sharded_cluster_crud:storage-a-002]...   • Starting an instance [sharded_cluster_crud:storage-b-001]...   • Starting an instance [sharded_cluster_crud:storage-b-002]...   • Starting an instance [sharded_cluster_crud:router-a-001]...

После запуска кластера и его работы в течение некоторого времени артефакты можно найти в каталогах, указанных в конфигурации tt. Ниже приведены расположения по умолчанию в локальном режиме запуска:

В системном режиме запуска артефакты создаются в следующих расположениях:

  • /var/log/tarantool/<instance_name>/;
  • /var/lib/tarantool/<instance_name>/;
  • /var/run/tarantool/<instance_name>/.

Базовое управление экземплярами

Большинство команд, описанных в этом разделе, можно вызывать как с указанием имени экземпляра, так и без него. Без указания имени экземпляра команда выполняется для всех экземпляров, определенных в файле instances.yaml.

Проверка статуса экземпляра

Чтобы проверить статус экземпляров, выполните команду tt status:

$ tt status sharded_cluster_crud INSTANCE                            STATUS   PID   MODE  CONFIG  BOX      UPSTREAM sharded_cluster_crud:router-a-001   RUNNING  8382  RW    ready   running  -- sharded_cluster_crud:storage-a-001  RUNNING  8386  RW    ready   running  -- sharded_cluster_crud:storage-a-002  RUNNING  8390  RO    ready   running  -- sharded_cluster_crud:storage-b-001  RUNNING  8379  RW    ready   running  -- sharded_cluster_crud:storage-b-002  RUNNING  8380  RO    ready   running  --

Для проверки статуса конкретного экземпляра укажите его имя:

$ tt status sharded_cluster_crud:storage-a-001 INSTANCE                            STATUS   PID   MODE  CONFIG  BOX      UPSTREAM sharded_cluster_crud:storage-a-001  RUNNING  8386  RW    ready   running  --

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

Для подключения к экземпляру используйте команду tt connect:

$ tt connect sharded_cluster_crud:storage-a-001   • Connecting to the instance...   • Connected to sharded_cluster_crud:storage-a-001sharded_cluster_crud:storage-a-001>

В консоли экземпляра можно выполнять команды, предоставляемые модулем box. Например, с помощью команды box.info можно получить различную информацию о запущенном экземпляре:

sharded_cluster_crud:storage-a-001> box.info.ro---- false...

Перезапуск экземпляров

Для перезапуска экземпляра используйте команду tt restart:

$ tt restart sharded_cluster_crud:storage-a-002

После выполнения tt restart необходимо подтвердить эту операцию:

Confirm restart of 'sharded_cluster_crud:storage-a-002' [y/n]: y   • The Instance sharded_cluster_crud:storage-a-002 (PID = 2026) has been terminated.   • Starting an instance [sharded_cluster_crud:storage-a-002]...

Остановка экземпляров

Для остановки конкретного экземпляра используйте команду tt stop:

$ tt stop sharded_cluster_crud:storage-a-002

Также можно остановить все экземпляры сразу:

$ tt stop sharded_cluster_crud   • The Instance sharded_cluster_crud:storage-b-001 (PID = 2020) has been terminated.   • The Instance sharded_cluster_crud:storage-b-002 (PID = 2021) has been terminated.   • The Instance sharded_cluster_crud:router-a-001 (PID = 2022) has been terminated.   • The Instance sharded_cluster_crud:storage-a-001 (PID = 2023) has been terminated.   • can't "stat" the PID file. Error: "stat /home/testuser/myapp/instances.enabled/sharded_cluster_crud/var/run/storage-a-002/tt.pid: no such file or directory"

Удаление артефактов экземпляра

Команда tt clean удаляет артефакты экземпляра (например, журналы или снимки):

$ tt clean sharded_cluster_crud   • List of files to delete:   • /home/testuser/myapp/instances.enabled/sharded_cluster_crud/var/log/storage-a-001/tt.log   • /home/testuser/myapp/instances.enabled/sharded_cluster_crud/var/lib/storage-a-001/00000000000000001062.snap   • /home/testuser/myapp/instances.enabled/sharded_cluster_crud/var/lib/storage-a-001/00000000000000001062.xlog   • ...Confirm [y/n]:

Введите y и нажмите Enter для подтверждения удаления артефактов каждого экземпляра.

Предварительная загрузка Lua-скриптов и модулей

В Tarantool поддерживается загрузка и выполнение фрагментов Lua-кода перед запуском экземпляров. Для загрузки или выполнения Lua-кода непосредственно при запуске Tarantool задайте переменную окружения TT_PRELOAD. Ее значением может быть путь к Lua-скрипту или имя Lua-модуля:

  • Чтобы запустить Lua-скрипт preload_script.lua из каталога sharded_cluster_crud, задайте TT_PRELOAD следующим образом:

    $ TT_PRELOAD=preload_script.lua tt start sharded_cluster_crud

    Tarantool выполняет код из preload_script.lua, дожидается его завершения, а затем запускает экземпляры.

  • Чтобы загрузить модуль preload_module из каталога sharded_cluster_crud, задайте TT_PRELOAD следующим образом:

    $ TT_PRELOAD=preload_module tt start sharded_cluster_crud

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

$ TT_PRELOAD="preload_script.lua;preload_module" tt start sharded_cluster_crud

Если при выполнении предварительно загружаемого скрипта или модуля происходит ошибка, Tarantool сообщает о проблеме и завершает работу.