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

Конфигурирование

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

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

Постоянные

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

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

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

Изменяемые

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

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

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

Для изменения параметров, не требующих перезапуска инстанса, можно использовать 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 установлены следующие приоритеты (от высшего к низшему):

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

Пример:

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.