Обновление конфигурации кластеров YDB

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

Примечание

Если ваш кластер развёрнут на более ранней версии YDB, чем v25.1 и/или использует конфигурацию V1, данной инструкцией пользоваться нельзя. Используйте раздел для конфигурации V1 или смигрируйте кластер на V2.

Управление конфигурацией кластера YDB осуществляется с помощью YDB CLI. Стандартный подход к обновлению включает получение текущей конфигурации от кластера с помощью YDB CLI, ее изменение локально и загрузку обновленной конфигурации обратно на кластер.

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

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

Базовые операции с конфигурацией

Получение текущей конфигурации

Для получения текущей конфигурации кластера используется команда:

ydb -e grpcs://<endpoint>:2135 admin cluster config fetch > config.yaml

В качестве <endpoint> указывается адрес любого из узлов кластера.

Применение новой конфигурации

Для загрузки обновленной конфигурации на кластер используется следующая команда:

ydb -e grpcs://<endpoint>:2135 admin cluster config replace -f config.yaml

В качестве <endpoint> указывается адрес любого из узлов кластера.

Некоторые параметры конфигурации применяются на ходу после выполнения команды, однако для некоторых требуется выполнение процедуры перезапуска кластера.