Аргументы командной строки¶
Picodata является консольным приложением, которое поддерживает различные параметры запуска в виде аргументов командной строки и переменных окружения.
picodata help¶
Полная справка доступна с помощью команды picodata help
:
USAGE:
picodata <SUBCOMMAND>
OPTIONS:
-h, --help Print help information
-V, --version Print version information
SUBCOMMANDS:
admin Connect to the Admin console of a Picodata instance
config Subcommands related to working with the configuration file
connect Connect to the Distributed SQL console
expel Expel node from cluster
help Print this message or the help of the given subcommand(s)
plugin Subcommand related to plugin management
run Run the picodata instance
status Display the status of all instances in the cluster
test Run picodata integration tests
picodata run¶
Запускает инстанс Picodata, см. Запуск Picodata.
picodata run [OPTIONS]
Примечание
Если в директории, из которой вызывается команда,
присутствует файл конфигурации с именем picodata.yaml
,
инстанс Picodata будет запущен с указанными в нем параметрами.
--admin-sock¶
--admin-sock <PATH>
Путь к unix-сокету для подключения к консоли администратора с помощью
команды picodata admin
. В отличие от picodata connect
,
коммуникация осуществляется в виде обычного текста и всегда происходит
под учетной записью администратора.
По умолчанию используется admin.sock
в рабочей директории инстанса.
Аналогичная переменная окружения: PICODATA_ADMIN_SOCK
Аналогичный параметр файла конфигурации: instance.admin_socket
--audit¶
--audit <PATH>
Конфигурация журнала аудита. Доступны следующие варианты:
-
file:<FILE>
или просто<FILE>
— запись в файлpicodata run --audit '/tmp/audit.log'
-
pipe:<COMMAND>
или| <COMMAND>
— перенаправление вывода в подпроцессpicodata run --audit '| /bin/capture-from-stdin'
-
syslog:
— перенаправление вывода в службуsyslog
защищенной ОСpicodata run --audit 'syslog:'
Аналогичная переменная окружения: PICODATA_AUDIT_LOG
Аналогичный параметр файла конфигурации: instance.audit
--cluster-name¶
--cluster-name <NAME>
Имя кластера. Инстанс не сможет присоединиться к кластеру с другим именем.
По умолчанию используется имя demo
.
Аналогичная переменная окружения: PICODATA_CLUSTER_NAME
Аналогичный параметр файла конфигурации: cluster.name
--config¶
--config <PATH>
Путь к файлу конфигурации в формате YAML.
По умолчанию используется ./picodata.yaml
, если такой существует.
Аналогичная переменная окружения: PICODATA_CONFIG_FILE
--config-parameter¶
-c, --config-parameter <PARAMETER=VALUE>
Список пар ключ-значение, определяющий параметры конфигурации.
Указанные здесь значения переопределяют как значения параметров в файле конфигурации, так и значения параметров командной строки и переменных окружения.
В качестве <PARAMETER>
используется путь параметра конфигурации,
разделенный точкой. Значение <VALUE>
интерпретируется как YAML.
Пример
picodata run -c instance.log.level=verbose -c instance.instance_dir=/path/to/dir
Аналогичная переменная окружения: PICODATA_CONFIG_PARAMETERS
--failure-domain¶
--failure-domain <KEY=VALUE>
Список пар ключ-значение, разделенных запятыми, определяющий географическое расположение сервера — зоны доступности. Picodata не будет объединять два инстанса в один репликасет, если у них совпадают значения хотя бы в одном ключе. Вместо этого будет создан новый репликасет. Репликасеты формируются из инстансов с разными зонами доступности до тех пор, пока не будет достигнут желаемый фактор репликации.
Аналогичная переменная окружения: PICODATA_FAILURE_DOMAIN
Аналогичный параметр файла конфигурации: instance.failure_domain
--http-listen¶
--http-listen <[HOST][:PORT]>
Адрес HTTP-сервера.
Аналогичная переменная окружения: PICODATA_HTTP_LISTEN
Аналогичный параметр файла конфигурации: instance.http_listen
--init-replication-factor¶
--init-replication-factor <INIT_REPLICATION_FACTOR>
Число реплик (инстансов с одинаковым набором хранимых данных) для каждого репликасета.
По умолчанию используется значение 1
.
Аналогичная переменная окружения: PICODATA_INIT_REPLICATION_FACTOR
Аналогичный параметр файла конфигурации: cluster.default_replication_factor
--instance-dir¶
--instance-dir <PATH>
Рабочая директория инстанса. Здесь Picodata хранит все данные.
По умолчанию используется текущая директория ./
.
Аналогичная переменная окружения: PICODATA_INSTANCE_DIR
Аналогичный параметр файла конфигурации: instance.instance_dir
--instance-name¶
--instance-name <NAME>
Имя инстанса. При отсутствии параметра значение будет автоматически сгенерировано raft-лидером в момент присоединения инстанса к кластеру. Генератор имен использует следующую схему: имя тира, номер репликасета, номер инстанса в данном репликасете, с разделением через знак подчеркивания.
Пример: default_1_1
.
Аналогичная переменная окружения: PICODATA_INSTANCE_NAME
Аналогичный параметр файла конфигурации: instance.name
--iproto-advertise¶
--iproto-advertise <[HOST][:PORT]>
Публичный сетевой адрес инстанса. Анонсируется кластеру при запуске инстанса и используется для подключения к нему других инстансов.
По умолчанию используется значение параметра --iproto-listen
, и
в большинстве случаев его не требуется менять. Но, например, в случае
--iproto-listen 0.0.0.0
его придется указать явно:
picodata run --iproto-listen 0.0.0.0:3301 --iproto-advertise 192.168.0.1:3301
Аналогичная переменная окружения: PICODATA_IPROTO_ADVERTISE
Аналогичный параметр файла конфигурации: instance.iproto_advertise
--iproto-listen¶
--iproto-listen <[HOST][:PORT]>
Сетевой адрес инстанса.
По умолчанию используется значение 127.0.0.1:3301
.
Аналогичная переменная окружения: PICODATA_IPROTO_LISTEN
Аналогичный параметр файла конфигурации: instance.iproto_listen
--log¶
--log <PATH>
Конфигурация отладочного журнала. Доступны следующие варианты:
-
file:<FILE>
или просто<FILE>
— запись в файлpicodata run --log '/tmp/picodata.log'
-
pipe:<COMMAND>
или| <COMMAND>
— перенаправление вывода в подпроцессpicodata run --log '| /dev/capture-from-stdin'
-
syslog:
— перенаправление вывода в службуsyslog
защищенной ОСpicodata run --log 'syslog:'
По умолчанию отладочный журнал выводится в stderr.
Аналогичная переменная окружения: PICODATA_LOG
Аналогичный параметр файла конфигурации: instance.log.destination
--log-level¶
--log-level <LOG_LEVEL>
Уровень важности событий, регистрируемых в отладочном журнале.
Возможные значения: fatal
, system
, error
, crit
, warn
, info
,
verbose
, debug
Значение по умолчанию: info
Аналогичная переменная окружения: PICODATA_LOG_LEVEL
Аналогичный параметр файла конфигурации: instance.log.level
--memtx-memory¶
--memtx-memory <MEMTX_MEMORY>
Объем оперативной памяти в байтах, используемый движком хранения memtx.
По умолчанию используется 64 МБ.
Поддерживаются значения в более удобном формате (K
(Kilobytes), M
(Megabytes), G
(Gigabytes), T
(Terabytes), 1K
= 1024).
Аналогичная переменная окружения: PICODATA_MEMTX_MEMORY
Аналогичный параметр файла конфигурации: instance.memtx.memory
--peer¶
--peer <[HOST][:PORT]>
Список сетевых адресов других инстансов, разделенных запятыми. Используется при инициализации кластера и присоединении инстанса к уже существующему кластеру.
Пример
picodata run --peer server-1.picodata.int:13301,server-2.picodata.int:13301
По умолчанию используется значение параметра --iproto-advertise
,
таким образом по умолчанию создается новый кластер.
Аналогичная переменная окружения: PICODATA_PEER
Аналогичный параметр файла конфигурации: instance.peer
--pg-listen¶
Адрес сервера для подключения по протоколу PostgreSQL.
Значение по умолчанию: 127.0.0.1:4327
Аналогичная переменная окружения: PICODATA_PG_LISTEN
Аналогичный параметр файла конфигурации: instance.pg.listen
--replicaset-name¶
--replicaset-name <NAME>
Имя репликасета. Используется при инициализации кластера и присоединении инстанса к уже существующему кластеру. При отсутствии параметра имя репликасета будет сгенерировано автоматически. Генератор имен использует следующую схему: имя тира, номер репликасета в данном тире, с разделением через знак подчеркивания.
Пример: default_1
.
Аналогичная переменная окружения: PICODATA_REPLICASET_NAME
Аналогичный параметр файла конфигурации: instance.replicaset_name
--script¶
--script <PATH>
Путь к файлу Lua-скрипта, который будет выполнен после присоединения инстанса к кластеру. В момент запуска скрипта локальное хранилище инициализировано, HTTP-сервер запущен, но raft-узел не инициализирован.
Аналогичная переменная окружения: PICODATA_SCRIPT
--share-dir¶
--share-dir <PATH>
Путь к директории, содержащей файлы плагинов.
В этой директории Picodata будет искать плагины. Требуется, чтобы структура директорий плагина соответствовали схеме:
корень share-dir
└── имя_плагина
└── версия_плагина
Аналогичная переменная окружения: PICODATA_SHARE_DIR
Аналогичный параметр файла конфигурации: instance.share_dir
--shredding¶
--shredding
Режим безопасного удаления рабочих файлов инстанса путем многократной перезаписи специальными битовыми последовательностями, см. Безопасный запуск.
Аналогичная переменная окружения: PICODATA_SHREDDING
Аналогичный параметр файла конфигурации: cluster.shredding
--tier¶
--tier <TIER>
Имя тира, которому будет принадлежать инстанс. Используется при инициализации кластера и присоединении инстанса к уже существующему кластеру.
По умолчанию используется имя default
.
Аналогичная переменная окружения: PICODATA_INSTANCE_TIER
Аналогичный параметр файла конфигурации: instance.tier
picodata admin¶
Подключается к консоли администратора, см. Подключение и работа в консоли — Консоль администратора.
picodata admin <PATH>
PATH
: Путь к unix-сокету, соответствующий опцииpicodata run --admin-sock
Пример
$ picodata admin ./admin.sock
Connected to admin console by socket path "admin.sock"
type '\help' for interactive help
(admin) sql>
picodata config default¶
Генерирует файл конфигурации Picodata со значениями по умолчанию. Без указания опций содержимое файла конфигурации выводится в stdout.
picodata config default [OPTIONS]
Пример вывода picodata config default
—
см. Описание файла конфигурации
--output-file¶
-o, --output-file <FILENAME>
Записывает файл конфигурации Picodata со значениями по умолчанию
в файл <FILENAME>
.
Пример
Сохранение файла конфигурации Picodata со значениями по умолчанию
в файл picodata.yaml
:
picodata config default -o picodata.yaml
Подробнее об имени picodata.yaml
— в описании команды picodata run
.
picodata connect¶
Подключается к кластерной SQL-консоли. См. Пользовательская консоль
picodata connect [OPTIONS] <ADDRESS>
ADDRESS
: Адрес инстанса Picodata в формате[user@][host][:port]
, соответствующий опцииpicodata run --iproto-advertise
Пример
$ picodata connect alice@127.0.0.1:3301;
Enter password for alice:
Connected to interactive console by address "127.0.0.1:3301" under "alice" user
type '\help' for interactive help
sql>
-a, --auth-type¶
-a, --auth-type <METHOD>
Метод аутентификации, см. Аутентификация с помощью LDAP.
Возможные значения: chap-sha1
, ldap
, md5
Значение по умолчанию: md5
--password-file¶
--password-file <PATH>
Путь к файлу с паролем указанного пользователя (хранится в виде обычного текста). Без этого параметра пароль будет запрошен в интерактивном режиме.
Аналогичная переменная окружения: PICODATA_PASSWORD_FILE
-u, --user¶
-u, --user <USER>
Имя пользователя, см. Управление доступом.
Игнорируется при указании имени пользователя в адресе
Значение по умолчанию: guest
picodata expel¶
Исключает инстанс Picodata из состава кластера.
Если инстанс хранит сегменты шардированных данных, перед его удалением данные будет автоматически перераспределены.
Если удаляемый инстанс является голосующим в Raft, то для его замены автоматически будет выбран новый голосующий узел.
Если удаляемый инстанс является raft-лидером, то будут организованы новые выборы.
Данное действие требует авторизации под учетной записью Администратора
СУБД admin
.
picodata expel [OPTIONS] <INSTANCE_UUID>
INSTANCE_UUID
: Универсальный уникальный идентификатор инстанса
--cluster-name¶
--cluster-name <NAME>
Имя кластера, из которого должен быть исключен инстанс.
Значение по умолчанию: demo
--password-file¶
--password-file <PATH>
Путь к файлу с паролем Администратора СУБД admin
(хранится в виде
обычного текста). Без этого параметра пароль будет запрошен в
интерактивном режиме.
Аналогичная переменная окружения: PICODATA_PASSWORD_FILE
--peer¶
--peer <[HOST][:PORT]>
Адрес любого инстанса из состава кластера.
Значение по умолчанию: 127.0.0.1:3301
picodata plugin configure¶
Обновляет конфигурацию сервиса указанного плагина на всех инстансах кластера.
Вызывается один раз на любом инстансе.
picodata plugin configure <ADDRESS> <PLUGIN_NAME> <PLUGIN_VERSION> <PLUGIN_CONFIG>
ADDRESS
: Адрес инстанса в формате[host][:port]
для подключения системного пользователяpico_service
PLUGIN_NAME
: Имя плагина, содержащего обновляемый сервисPLUGIN_VERSION
: Версия плагина, содержащего обновляемый сервисPLUGIN_CONFIG
: Путь к файлу с новой конфигурацией обновляемого сервиса в формате YAML. Конфигурация соответствует манифесту плагина, за исключением полейname
иdescription
. В файле конфигурации достаточно указать лишь изменяемые параметры
--service-names¶
--service-names <SERVICE_NAMES>
Список имен сервисов, разделенных запятыми, конфигурацию которых нужно обновить. Если в новой конфигурации отсутствует хотя бы одно имя из данного списка, будет выведена ошибка.
Пример
picodata plugin configure --service-names service_1,service_2
--service-password-file¶
--service-password-file <PATH>
Путь к текстовому файлу с паролем для системного пользователя pico_service
. Этот
пароль используется для внутреннего взаимодействия с другими инстансами Picodata и
является одинаковым для всех инстансов.
Примечание
При несовпадении пароля будет выведена ошибка. При отсутствии параметра пароль будет запрошен в интерактивном режиме, см. Безопасный запуск.
Аналогичная переменная окружения: PICODATA_SERVICE_PASSWORD_FILE
picodata status¶
Выводит статус всех инстансов в кластере.
picodata status [OPTIONS]
Статус инстанса содержит следующие параметры:
instance_name
— имя инстансаcurrent_state
— текущее состояние инстансаtarget_state
— целевое состояние инстансаinstance_uuid
— UUID инстансаreplicaset_uuid
— UUID репликасета, которому принадлежит инстансtier
— имя тира, которому принадлежит инстансuri
— публичный сетевой адрес инстанса
Пример
$ picodata status
Enter password for pico_service:
CLUSTER NAME: demo
+-----------+-----------+-----------+----------+----------+---------+----------+
| instance_ | current_s | target_st | instance | replicas | tier | uri |
| name | tate | ate | _uuid | et_uuid | | |
+==============================================================================+
| default_1 | ["Online" | ["Online" | 38307bf4 | 50c2ed56 | default | 127.0.0. |
| _1 | , 1] | , 1] | -33ec-47 | -ccd1-49 | | 1:3301 |
| | | | 44-b830- | 73-b9f2- | | |
| | | | 8262a58d | 8aec11d8 | | |
| | | | cc9a | dff5 | | |
+-----------+-----------+-----------+----------+----------+---------+----------+
(1 rows)
Примечание
По умолчанию паролем системного пользователя pico_service
является
пустая строка.
--peer¶
--peer <[HOST][:PORT]>
Адрес любого инстанса из состава кластера.
Значение по умолчанию: 127.0.0.1:3301
Аналогичная переменная окружения: PICODATA_PEER
Аналогичный параметр файла конфигурации: instance.peer
--service-password-file¶
--service-password-file <PATH>
Путь к текстовому файлу с паролем для системного пользователя pico_service
. Этот
пароль используется для внутреннего взаимодействия с другими инстансами Picodata и
является одинаковым для всех инстансов.
Примечание
При несовпадении пароля будет выведена ошибка. При отсутствии параметра пароль будет запрошен в интерактивном режиме, см. Безопасный запуск.
Аналогичная переменная окружения: PICODATA_SERVICE_PASSWORD_FILE
--timeout¶
-t, --timeout <TIMEOUT>
Максимальное время обработки запроса в секундах.
Значение по умолчанию: 5
Аналогичная переменная окружения: PICODATA_CONNECT_TIMEOUT
Пример
picodata status -t 10