Перейти к содержанию

Обзор методов конфигурирования

В данном разделе описаны способы и особенности конфигурирования инстансов Picodata.

Типы параметров

Постоянные

Постоянные параметры задаются один раз при запуске инстанса и затем не могут быть изменены.

Постоянные параметры, относящиеся к глобальным настройкам кластера, устанавливаются в момент первоначальной сборки кластера и не могут быть изменены без его повторной инициализации (bootstrap). Например:

Постоянные параметры, относящиеся к отдельным инстансам, также задаются один раз в начале при запуске инстанса. Менять их впоследствии нельзя. Например:

Изменяемые

Изменяемые параметры могут быть переопределены для действующих инстансов в кластере. Такие параметры, в свою очередь, делятся на:

  • изменяемые без перезапуска инстанса
  • изменяемые через перезапуск инстанса

Примеры изменяемых параметров:

Для изменения параметров, не требующих перезапуска инстанса, можно использовать SQL-команду ALTER SYSTEM.

Остальные параметры можно изменить, указав их новые значения при повторном запуске инстанса (см. способы задания параметров ниже).

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

Параметры запуска инстанса можно указать в файле конфигурации, и затем передать путь к нему в качестве аргумента для picodata run.

Данный способ удобен для:

  • запуска нескольких инстансов и работы с кластерными возможностями Picodata
  • разделения глобальных настроек кластера и настроек отдельных инстансов
  • удобного контроля над большим списком переопределяемых параметров запуска каждого инстанса
  • использования разных наборов настроек для инстансов исходя из их назначения (тиры, домены отказа и т.д.)

Файл конфигурации представляет собой текстовый файл с YAML-разметкой.

Пример:

my_cluster.yml
cluster:
  name: my_cluster
instance:
  instance_dir:
    ./mini1
  iproto_listen:
    127.0.0.1:3308

Примечание

Файл конфигурации должен содержать имя кластера

Запуск инстанса с использованием файла конфигурации:

picodata run --config my_cluster.yml

Читайте далее:

Использование переменных окружения

У всех параметров запуска Picodata имеются аналогичные переменные окружения, которые можно задавать в командной оболочке (например, Bash).

В примере выше был показан запуск инстанса с явным указанием его рабочей директории и сетевого адреса. При использовании переменных окружения это будет выглядеть так:

export PICODATA_INSTANCE_DIR="./data/i1"
export PICODATA_IPROTO_LISTEN="127.0.0.1:3301"
picodata run

Данный способ удобен для запуска нескольких инстансов (с разными параметрами) на одном хосте. Наборы команд можно сохранить в виде shell-скриптов, индивидуальных для каждого инстанса.

Использование параметров командной строки

Исполняемый файл picodata, запускающий инстанс Picodata, поддерживает разнообразные дополнительные параметры, с помощью которых можно явно указать рабочую директорию инстанса, сетевой порт и т.д.

Данный способ удобен для:

  • быстрого ознакомления с Picodata в UNIX shell на примере 1 или пары инстансов
  • наглядного и оперативного контроля над всеми параметрами запуска инстанса Picodata

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

picodata run --instance-dir ./data/i1 --iproto-listen 127.0.0.1:3301

Читайте далее:

Приоритеты методов конфигурирования

Поскольку разные методы установки параметров можно использовать одновременно, важно учитывать их приоритет. В Picodata установлены следующие приоритеты (от высшего к низшему):

  1. Аргумент командной строки
  2. Переменная окружения
  3. Значение в файле конфигурации

Пример:

cat my_cluster.yaml
cluster:
  name: my_cluster
instance:
  instance_dir:
    ./mini1
  iproto_listen:
    127.0.0.1:3302

export PICODATA_IPROTO_LISTEN="127.0.0.1:3303"
picodata run --iproto-listen 127.0.0.1:3304 --config my_cluster.yaml

После запуска сетевой адрес инстанса будет 127.0.0.1:3304.