Исправление конфигурации кластера | Tarantool
Документация на русском языке
поддерживается сообществом
Tarantool Cartridge Cartridge CLI Команды Cartridge CLI Исправление конфигурации кластера

Исправление конфигурации кластера

Команда cartridge repair используется для восстановления приложения в процессе работы.

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

  1. Используйте repair, только если вы уверены, что это необходимо.
  2. Всегда предварительно вызывайте repair с параметром --dry-run.
  3. Применяйте параметр --verbose.
  4. Используйте параметр --force, только если вы уверены, что это необходимо.

Примечание

Перед тем, как использовать команду repair, ознакомьтесь с руководством по разрешению проблем.

cartridge repair [подкоманда]

Ниже приведен список доступных подкоманд.

cartridge repair list-topology [параметры]

Вывод сводной информации о текущей топологии. Не требует аргументов.

cartridge repair remove-instance UUID [параметры]

Удаление экземпляра с указанным UUID из кластера. Если экземпляр не найден, возвращается ошибка.

cartridge repair set-leader UUID_НАБОРА_РЕПЛИК UUID_ЭКЗЕМПЛЯРА [параметры]

Назначение экземпляра лидером в наборе реплик. Команда вернет ошибку в следующих случаях:

  • Набора реплик или экземпляра с указанным UUID не существует.
  • Экземпляр не входит в набор реплик.
  • Экземпляр отключен или исключен из кластера.

cartridge repair set-uri UUID_ЭКЗЕМПЛЯРА URI [параметры]

Замена параметра advertise_uri. Команда вернет ошибку, если экземпляр не обнаружен или исключен из кластера.

Следующие параметры можно использовать с любой подкомандой repair:

--name Имя приложения (обязательно).
--data-dir Директория, в которой находятся рабочие директории экземпляров, по умолчанию — /var/lib/tarantool.

Следующие параметры можно использовать с любой подкомандой repair, кроме list-topology:

--run-dir Директория, где хранятся PID-файлы и файлы сокетов. По умолчанию — /var/run/tarantool.
--dry-run Пробное выполнение команды: изменения отображаются, но не применяются.
--reload Загрузка конфигурации экземпляра после того, как будут внесены изменения.

Примечание

В отличие от остальных команд cartridge-cli, в repair по умолчанию используются другие директории запуска и хранения данных. Это связано с тем, что команда repair предназначена для выполнения в производственной среде, а остальные — для локальной разработки.

Команда repair также поддерживает глобальные параметры.

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

Изначально команда repair предназначалась для применения в производственной среде, однако ее можно использовать и для локальной разработки. Параметр --name (имя приложения) — обязательный. Помните, что по умолчанию директория данных — /var/lib/tarantool, а директория запуска — /var/run/tarantool. Чтобы задать другие директории, используйте параметры data-dir и --run-dir соответственно. Вы можете также прописать эти параметры в файле конфигурации.

По умолчанию repair применяет изменения ко всем конфигурациям на уровне кластера, найденным в директориях <data-dir>/<имя_приложения>.*.

Если указать параметр --dry-run, на экране появятся различия в конфигурации, а сами файлы не изменятся.

Если у разных экземпляров на локальном компьютере файлы конфигурации отличаются, repair вернет ошибку. Чтобы принудительно исправить разные версии конфигурации, используйте параметр --force.

Если ваше приложение основано на версии cartridge >= 2.0.0, вы можете загрузить обновленную конфигурацию для всех экземпляров через сокеты консоли из директории запуска, выполнив repair с параметром --reload. Убедитесь, что при использовании --reload директория запуска указана правильно.