Spec-Zone.ru › MariaDB

Обзор Orchestrator

Orchestrator — это инструмент управления высокой доступностью и репликацией для MySQL и MariaDB. Он выпущен Shlomi Noach под лицензией Apache 2.0.

Orchestrator предоставляет автоматизацию репликации MariaDB следующим образом:

  • Он может использоваться для выполнения определенных операций, таких как исправление сломанной репликации или перемещение реплики с одного мастера на другой. Эти операции могут быть запрошены с помощью команд CLI или через графический интерфейс, предоставляемый Orchestrator. Фактические команды, отправляемые в MariaDB, автоматизируются Orchestrator, и пользователю не нужно беспокоиться о деталях.
  • Orchestrator также может автоматически выполнять отказ от работоспособности в случае сбоя мастера или его недоступности для реплик. В этом случае Orchestrator повысит один из реплик до мастера. Реплика для повышения выбирается на основе нескольких критериев, таких как версии серверов, используемые форматы бинарного журнала binary log и расположение центров обработки данных.

Обратите внимание, что если мы не хотим использовать Orchestrator для автоматизации операций, мы все равно можем использовать его как динамический инвентарь. Другие инструменты могут использовать его для получения списка существующих серверов MariaDB через свой REST API или команды CLI.

Orchestrator имеет нескольких крупных пользователей, перечисленных на странице документации Users. Он также включен в решение мониторинга PMM.

Для установки Orchestrator, см.:

  • Файл install.md для ручного способа установки;
  • Ссылки в README.md для установки Orchestrator с помощью инструментов автоматизации.

Поддерживаемые Топологии

В настоящее время Orchestrator полностью поддерживает MariaDB GTID, репликацию и полусинхронную репликацию. Хотя Orchestrator не поддерживает специфическую логику Galera, он работает с кластерами Galera. Для получения подробной информации см. Поддерживаемые топологии и версии в документации Orchestrator.

Архитектура

Orchestrator состоит из одного исполняемого файла, называемого orchestrator. Это процесс, который периодически подключается к целевым серверам. Он будет выполнять SQL-запросы на целевых серверах, поэтому ему требуется пользователь с соответствующими правами. При запуске процесса доступен графический интерфейс через веб-браузер по адресу 'https://localhost:3000'. Он также предоставляет REST API (см. Использование веб-API в документации Orchestrator).

Orchestrator ожидает найти файл конфигурации JSON под названием orchestrator.conf.json, в /etc.

База данных используется для хранения конфигурации и состояния целевых серверов. По умолчанию для этого используется встроенный SQLite. Однако можно использовать внешнюю базу данных MariaDB или MySQL.

Если запущена группа экземпляров Orchestrator, используется только одна центральная база данных. Один узел Orchestrator активен, а остальные являются пассивными и используются только для переключения. Если активный узел выходит из строя или становится недоступным, один из других узлов становится активным экземпляром. Таблица active_node показывает, какой узел активен. Узлы общаются друг с другом с помощью протокола Raft.

Примеры командной строки

Как уже упоминалось, Orchestrator можно использовать из командной строки. Вот несколько примеров.

Список кластеров:

orchestrator -c clusters

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

orchestrator -c discover -i <host>:<port>

Забыть об экземпляре:

orchestrator -c topology -i <host>:<port>

Переместить реплику к другому мастеру:

orchestrator -c move-up -i <replica-host>:<replica-port> -d <master-host>:<master-port>

Переместить реплику вверх, чтобы она стала «сестрой» ее мастера:

orchestrator -c move-up -i <replica-host>:<replica-port>

Переместить реплику вниз, чтобы она стала репликой ее «сестры»:

orchestrator -c move-below -i <replica-host>:<replica-port> -d <master-host>:<master-port>

Сделать узел только для чтения:

orchestrator -c set-read-only -i <host>:<port>

Сделать узел доступным для записи:

orchestrator -c set-writeable -i <host>:<port>

Опции --debug и --stack могут быть добавлены к приведенным выше командам для их более подробного вывода.

Ресурсы и ссылки по Orchestrator

  • Orchestrator на GitHub.
  • Документация.
  • Сайт протокола согласования Raft.

Файл README.md содержит список связанных сообщественных проектов, включая модули для автоматизации Orchestrator с помощью Puppet и других технологий.

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


Контент первоначально предоставлен компанией Vettabase Ltd.

Содержимое, воспроизведенное на этом сайте, является собственностью его соответствующих владельцев, и это содержание не проходит предварительного просмотра со стороны MariaDB. Мнения, информация и мнения, выраженные в этом содержании, не обязательно отражают взгляды MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/orchestrator-overview/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API