Конфигурирование¶
В данном разделе описаны способы и особенности конфигурирования инстансов Picodata.
Типы параметров¶
Постоянные¶
Постоянные параметры задаются один раз при запуске инстанса и затем не могут быть изменены.
Постоянные параметры, относящиеся к глобальным настройкам кластера
,
устанавливаются в момент первоначальной сборки кластера и не могут быть
изменены без его повторной инициализации (bootstrap). Например:
PICODATA_CLUSTER_NAME
(имя кластера)
Постоянные параметры, относящиеся к отдельным инстансам
, также
задаются один раз в начале при запуске инстанса. Менять их впоследствии нельзя.
Например:
PICODATA_INSTANCE_TIER
(имя тира, которому будет принадлежать инстанс)PICODATA_INSTANCE_NAME
(имя инстанса)
Изменяемые¶
Изменяемые параметры могут быть переопределены для действующих инстансов в кластере. Такие параметры, в свою очередь, делятся на:
изменяемые без перезапуска инстанса
изменяемые через перезапуск инстанса
Примеры изменяемых параметров:
VDBE_MAX_STEPS / VTABLE_MAX_ROWS
(неблокирующие запросы)PICODATA_CONFIG_FILE
(путь к файлу конфигурации)PICODATA_CONFIG_PARAMETERS
(список пар ключ-значение)
Для изменения параметров, не требующих перезапуска инстанса, можно использовать SQL-команду ALTER SYSTEM.
Остальные параметры можно изменить, указав их новые значения при повторном запуске инстанса (см. способы задания параметров ниже).
Использование параметров командной строки¶
Исполняемый файл picodata
, запускающий инстанс Picodata, поддерживает
разнообразные дополнительные параметры, с помощью которых можно явно
указать рабочую директорию инстанса, сетевой порт и т.д.
Данный способ удобен для:
- быстрого ознакомления с Picodata в UNIX shell на примере 1 или пары инстансов
- наглядного и оперативного контроля над всеми параметрами запуска инстанса Picodata
Пример использования аргументов командной строки:
picodata run --data-dir ./data/i1 --listen 127.0.0.1:3301
Читайте далее:
Использование переменных окружения¶
У всех параметров запуска Picodata имеются аналогичные переменные окружения, которые можно задавать в командной оболочке (например, Bash).
В примере выше был показан запуск инстанса с явным указанием его рабочей директории и сетевого адреса. При использовании переменных окружения это будет выглядеть так:
export PICODATA_DATA_DIR="./data/i1"
export PICODATA_LISTEN="127.0.0.1:3301"
picodata run
Данный способ удобен для запуска нескольких инстансов (с разными параметрами) на одном хосте. Наборы команд можно сохранить в виде shell-скриптов, индивидуальных для каждого инстанса.
Читайте далее:
Использование файла конфигурации¶
Параметры запуска инстанса можно указать в файле конфигурации, и затем
передать путь к нему в качестве аргумента для picodata run
.
Данный способ удобен для:
- запуска нескольких инстансов и работы с кластерными возможностями Picodata
- разделения глобальных настроек кластера и настроек отдельных инстансов
- удобного контроля над большим списком переопределяемых параметров запуска каждого инстанса
- использования разных наборов настроек для инстансов исходя из их назначения (тиры, домены отказа и т.д.)
Файл конфигурации представляет собой текстовый файл с YAML-разметкой.
Пример:
my_cluster.yml
cluster:
name: my_cluster
instance:
data_dir:
./mini1
listen:
127.0.0.1:3308
Примечание
Файл конфигурации должен содержать имя кластера
Запуск инстанса с использованием файла конфигурации:
picodata run --config my_cluster.yml
Читайте далее:
Приоритеты методов конфигурирования¶
Поскольку разные методы установки параметров можно использовать одновременно, важно учитывать их приоритет. В Picodata установлены следующие приоритеты (от высшего к низшему):
- Аргумент командной строки
- Переменная окружения
- Значение в файле конфигурации
Пример:
cat my_cluster.yaml
cluster:
name: my_cluster
instance:
data_dir:
./mini1
listen:
127.0.0.1:3302
export PICODATA_LISTEN="127.0.0.1:3303"
picodata run --listen 127.0.0.1:3304 --config my_cluster.yaml
После запуска сетевой адрес инстанса будет 127.0.0.1:3304
.