2. Руководство по эксплуатации / 2.2. Настройка кластера
2. Руководство по эксплуатации / 2.2. Настройка кластера

2.2. Настройка кластера

2.2. Настройка кластера

После успешной установки приложения на серверы необходимо настроить кластер, что включает в себя следующие действия:

Примечание

Кластер TDG построен на основе Tarantool Cartridge. В данном разделе рассмотрены базовые возможности настройки кластера TDG. За более подробной информацией по настройке кластера обращайтесь к документации на Tarantool Cartridge.

2.2.1. Создание набора реплик и задание ролей

Операции по настройке кластера можно выполнить через web-интерфейс администратора. Для подключения к web-интерфейсу надо зайти в браузере на любой сервер по доступному на нем http-порту http://<address>:<http_port> (указаны в файле конфигурации кластера). В рассматриваемом примере это может быть http://172.19.0.2:8080 (соответствует инстансу с именем «core_1»).

На вкладке Cluster мы имеем набор несконфигурированных инстансов, на что указывает их текущий статус «unconfigured».

../_images/clusterconf01.png

В некоторых подсетях может не работать автоматический поиск доступных серверов (autodiscovery). Тогда инстансы этих серверов могут отсутствовать в таблице по умолчанию. Для ручной проверки доступности и добавления новых инстансов в кластер можно использовать функцию Probe server (кнопка над таблицей с инстансами), которая проверяет, доступен ли инстанс по указанному адресу. Если инстанс доступен, он появится в таблице.

../_images/probeserver.png

Далее необходимо сконфигурировать топологию кластера, создав так называемые наборы реплик (replica sets, репликасеты) и задав их роли.

Выберите в таблице несконфигурированный инстанс и нажмите кнопку Configure в правой части строки этого инстанса. Откроется диалог настройки репликасета CONFIGURE SERVER.

В диалоге необходимо выбрать нужные для данного репликасета роли (параметр Roles). Этот параметр обязательный, поэтому должна быть выбрана как минимум одна роль. Если репликасет выполняет в кластере более одной роли, то нужно отметить все необходимые роли. Подробнее о ролях репликасетов и рекомендациях по их назначению см. раздел «Роли».

../_images/clusterconf02-2.png

Остальные параметры репликасета являются опциональными. Тем не менее рекомендуется задать имя репликасета (Replica set name), чтобы в дальнейшем было легче им управлять. У параметров Replica set weight, Vhsard group и All writable можно оставить значения, заданные по умолчанию. После определения нужных параметров нажмите кнопку Create replica set.

Cозданный репликасет с включенным в него инстансом отображается в таблице REPLICA SETS. Оставшиеся несконфигурированные инстансы по-прежнему отображаются в таблице UNCONFIGURED SERVERS.

../_images/clusterconf03.png

Продолжим настройку кластера — в нашем примере создадим 4 дополнительных репликасета, каждый из которых содержит по одному инстансу:

../_images/clusterconf04.png

На примере репликасетов с ролью storage (их в текущей топологии кластера — два) рассмотрим также операцию по добавлению дополнительных инстансов в существующий репликасет.

У одного из оставшихся несконфигурированных инстансов — с именем «storage_1_replica» — нажмите Configure и в диалоге настройки репликасета перейдите на вкладку Join Replica Set. В списке Choose replica set выберите репликасет с именем «storage_1» и нажмите Join replica set.

../_images/clusterconf05.png

Инстанс «storage_1_replica» будет включен в состав репликасета «STORAGE_1».

../_images/clusterconf06.png

Выполните аналогичную операцию для последнего несконфигурированного инстанса «storage_2_replica», включив его в репликасет «STORAGE_2».

На этом настройка топологии кластера завершена.

2.2.2. Запуск кластера

После настройки топологии кластера необходимо запустить в рабочее состояние репликасеты с ролью storage, выполнив инициализацию модуля «Tarantool vshard» (подробнее про принцип работы модуля см. в документации по Tarantool). Для этого на вкладке Cluster нажмите кнопку Bootstrap vshard:

../_images/vshard_bootstrap.png

Будут созданы виртуальные сегменты для хранения данных (virtual buckets) и распределены по хранилищам с учетом количества инстансов с ролью storage.

../_images/vshard_bootstrap02.png

2.2.3. Загрузка конфигурации системы

Последний этап запуска системы в работу — загрузка и применение ее конфигурации.

В web-интерфейсе перейдите на вкладку Configuration files. В секции UPLOAD CONFIGURATION загрузите архив в формате .zip, который должен содержать основной файл конфигурации системы config.yml и другие необходимые файлы (описание модели данных, Lua-код функций и др.), и нажмите Save. Если загрузка и применении конфигурации прошли успешно, система выдаст нотификацию об этом.

../_images/config_upload.png

После этого система готова к работе.

В дальнейшем актуальную конфигурацию всегда можно скачать на этой же вкладке в секции DOWNLOAD CONFIGURATION.

2.2.4. Автоматическая синхронизация настроек в кластере

Для нормального функционирования кластера все инстансы должны иметь одинаковые настройки. С этой целью каждый инстанс хранит копию конфигурации config.yml в своей рабочей директории /var/lib/tarantool/<instance_name>. Также в этой директории хранятся резервная копия config.backup.yml и токен кластера .tarantool.cookie. Кластер синхронизирует эти файлы настроек у всех инстансов.

После первоначальной загрузки файл конфигурации config.yml автоматически обогащается информацией о топологии кластера с указанием всех серверов, репликасетов, инстансов и их ролей. Также добавляется информация о созданных спейсах для хранения объектов согласно модели данных. Именно в таком виде конфигурация хранится в рабочей директории каждого инстанса и синхронизируется между ними.

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