Top.Mail.Ru
Пути к файлам экземпляров | Tarantool
Tarantool
Узнайте содержание релиза 2.8
Tarantool Cartridge Cartridge CLI Пути к файлам экземпляров

Пути к файлам экземпляров

Обращаясь к запущенным экземплярам, команды вычисляют пути к файлам, связанным с этими экземплярами. Такие пути определяются для каждого экземпляра при его запуске. Они необходимы, например, для просмотра журналов или подключения к экземпляру через сокет консоли (console socket).

В корневой директории приложения находится файл .cartridge.yml. Он позволяет переопределять пути для локально запущенных экземпляров. Вместо того, чтобы указывать пути через параметры команды, вы можете прописать соответствующее значение в файле .cartridge.yml.

Например, вместо того, чтобы запускать такую команду:

cartridge start --run-dir my-run-dir --cfg my-instances.yml --script my-init.lua

вы можете записать в файл .cartridge.yml следующее:

run-dir: my-run-dir
cfg: my-instances.yml
script: my-init.lua

В файле .cartridge.yml можно включить или отключить параметр stateboard. В приложении, созданном по шаблону, этому параметру присвоено значение true.

В директории запуска (--run-dir) хранятся следующие файлы:

  • PID-файлы экземпляров — <run-dir>/<имя_приложения>.<имя_экземпляра>.pid.
  • Сокеты консоли (console sockets) экземпляров — <run-dir>/<имя_приложения>.<имя_экземпляра>.control.
  • Notify-сокеты экземпляров — <run-dir>/<имя_приложения>.<имя_экземпляра>.pid.

В директории для данных (--data-dir) находятся рабочие директории экземпляров.

Рабочая директория каждого экземпляра имеет следующий путь: <data-dir>/<имя_приложения>.<имя_экземпляра>.

В директории журналов (--log-dir) хранятся журналы экземпляров, работающих в фоновом режиме. Директория создается командой cartridge start -d и используется командой cartridge log.

Имя файла журнала формируется так: <log-dir>/<имя_приложения>.<имя_журнала>.log.

В файле --cfg можно конфигурировать экземпляры Cartridge. Этот файл передается всем экземплярам через переменную окружения TARANTOOL_CFG. Более подробную информацию см. в руководстве по конфигурации.

Пример:

myapp.router:
    advertise_uri: localhost:3301
    http_port: 8081

myapp.s1-master:
    advertise_uri: localhost:3302
    http_port: 8082

myapp-stateboard:
    listen: localhost:3310
    password: passwd