Запуск Picodata¶
В данном разделе приведена информация по запуску отдельного инстанса Picodata на физическом оборудовании или в виртуальной среде.
Инстанс — экземпляр приложения Picodata, из которых состоит кластер. Picodata может создать кластер, состоящий всего из одного экземпляра/инстанса.
Минимальный вариант запуска¶
В самом простом случае запуск инстанса сводится к выполнению команды
picodata run
без каких-либо параметров:
picodata run
Будет запущен кластер, состоящий из одного инстанса. Все параметры будут стандартны, и, скорее всего, вы захотите их переопределить.
Читайте далее:
Запуск нескольких инстансов¶
Для того чтобы запустить несколько инстансов на одном сервере, потребуется задать дополнительные параметры для каждого из них:
- рабочую директорию (--data-dir)
- сетевой адрес (--listen)
- адрес одного или нескольких соседних инстансов (--peer)
Полный перечень возможных параметров запуска и их
описание содержатся в разделе Аргументы командной строки, а также в
выводе команды picodata run --help
.
Чтобы запустить два инстанса, которые объединятся в кластер, выполните в двух соседних терминалах следующие команды:
picodata run --data-dir ./data/i1 --listen 127.0.0.1:3301
picodata run --data-dir ./data/i2 --listen 127.0.0.1:3302 --peer 127.0.0.1:3301
Обратите внимание на различия в запуске инстансов:
- каждый инстанс использует свою рабочую директорию и сетевой адрес
- в отсутствие параметра
--peer
запуск инстанса приводит к созданию нового кластера. Чтобы инстансы добавлялись в уже существующий кластер в этом параметре передается адрес первого инстанса
Читайте далее:
Запуск с помощью Docker Compose¶
Picodata поддерживает запуск при помощи инструментария Docker Compose и
предоставляет пример файла docker-compose.yml
для запуска тестового
кластера. Этот способ удобен тем, что позволяет запускать Picodata без
необходимости установки пакетов или сборки из
исходного кода.
Для развертывания тестового кластера данным способом выполните следующие шаги.
Убедитесь, что у вас установлены Docker, Docker Compose, а также что
системная служба docker
запущена, см Docker Compose
overview
Скачайте файл docker-compose.yml, который описывает тестовый кластер из 4-х инстансов:
curl -O https://git.picodata.io/core/picodata/-/raw/master/helm/docker-compose.yml
Создайте директорию для рабочих файлов проекта и задайте путь к Docker-репозиторию Picodata:
mkdir pico
export REGISTRY=docker-public.binary.picodata.io
Запустите контейнеры:
docker-compose up -d
Подключиться к кластеру можно одним из следующих способов.
Для подключения к консоли администратора используйте команду:
picodata admin pico/data/picodata-1-1/admin.sock
Для подключения к SQL-консоли используйте команду:
picodata connect admin@127.0.0.1:13301
Пароль администратора T0psecret
задан через
переменную окружения PICODATA_ADMIN_PASSWORD
, см. docker-compose.yml:17
Для подключения по протоколу PostgreSQL используйте команду:
psql postgres://admin@127.0.0.1:55432?sslmode=disable
Безопасный запуск¶
Для обеспечения мер безопасности рекомендуется организовать хранение
пароля для внутреннего системного пользователя pico_service
в
отдельном файле. При запуске инстанса путь к этому файлу передайте в
параметре ‑‑service‑password‑file.
Дополнительно, в опции ‑‑audit явно укажите указать способ вывода журнала аудита.
Также рекомендуется использовать опцию ‑‑shredding, которая обеспечивает безопасное удаление рабочих файлов.
Пример команд, реализующих безопасный запуск:
echo "shAreD_s3cr3t" > secret.txt
chmod 600 secret.txt
picodata run --service-password-file secret.txt --audit audit.log --shredding
Безопасное завершение работы¶
Для безопасного завершения работы инстанса нажмите сочетание Ctrl+C в консоли, в которой он был запущен. После этого процесс инстанса будет корректно завершен.