Добавление узлов в кластер
Добавление нового узла (экземпляра) в кластер TDG - это фактически та же операция развертывания.
В этом примере мы возьмем уже развернутый кластер TDG, развернем новый экземпляр TDG и настроим его через веб-интерфейс, создав новый набор реплик с кластерной ролью "storage".
Чтобы развернуть новый экземпляр, требуются те же ресурсы, что и для
первоначального развертывания кластера: пакет tar.gz и инструмент
Ansible с
предопределенными файлом инвентаря и конфигурацией плейбука.
-
Перейдите в директорию развертывания, извлеченную ранее из пакета
tar.gz, и отредактируйте файл инвентаря Ansiblehosts.yml. Добавьте описание и параметры нового экземпляра. В приведенном ниже примере кода параметры, которые нужно заполнить, отмечены комментариями# <– Добавьте....children:tdg_group:### Instances ###hosts:...storage_3: # <– Добавьте новый экземпляр и параметры конфигурации для негоconfig:advertise_uri: "172.19.0.2:3005"http_port: 8085memtx_memory: 1073741824 # 1024 МБchildren:### Machines ###vm1:hosts:stateboard_instance:core:runner_1:storage_1:storage_2:storage_3: # <– Добавьте этот экземпляр к hosts на vm1vars:ansible_host: "172.19.0.2" -
Выполните развертывание нового экземпляра, используя плейбук
deploy_without_topology.yml:$ ansible-playbook -i hosts.yml –limit storage_3 playbooks/deploy_without_topology.ymlПараметр
–limitуказывает, что шаги плейбука следует применить только к конкретному экземпляру, не затрагивая другие экземпляры. -
Откройте или обновите страницу с интерфейсом TDG. В нашем примере она находится по адресу http://172.19.0.2:8081. Новый экземпляр появится на вкладке Cluster в разделе Unconfigured servers.

-
Последний шаг –- создание нового набора реплик с ролью "storage". Нажмите Configure напротив экземпляра "storage_3". В диалоговом окне Configure server укажите следующие параметры и нажмите Create replica set:
Replica set name: storage_3Roles: storageReplica set weight: 1

Значение параметра Replica set weight должно быть таким же, как и в
остальных наборах реплик с ролью "storage". Тогда после добавления
нового хранилища запустится автоматическая балансировка данных между
всеми хранилищами.
Вы можете проверить, корректно ли была проведена балансировка,
обратившись к параметру Buckets. Его значение должно совпадать для
всех экземпляров с ролью "storage" на одном сервере (172.19.0.2 в
этом примере). Балансировка займет некоторое время, поэтому результат в
веб-интерфейсе появится не сразу: немного подождите и обновите страницу.
