Запуск Pilot-Server в кластерном режиме
Данная функциональность доступна только для пользователей Pilot-ICE Enterprise и Pilot-BIM. Для получения лицензий обратитесь к поставщику ПО АСКОН. |
![]() |
Предварительно рекомендуем ознакомиться с описанием Архитектуры кластерного режима работы Pilot-Server. |
Для начала работы необходимо создать пользователя в PostgreSQL, от имени которого будет осуществляться миграция и подключение к базе данных. Пользователь должен обладать правами на создание базы данных (CREATEDB), входа на сервер (LOGIN) без ограничения количества подключений (CONNECTION LIMIT -1).
Для работы пользователя с базой данных будут необходимы права SELECT, INSERT, UPDATE, DELETE, CONNECT.
Для возможности работы скриптов обновления дополнительно потребуются права CREATE, REFERENCES.
Миграция базы данных
Миграция осуществляется из файлов *.dbp подготовленной базы данных. Если такой базы нет, то можно воспользоваться одной из демонстрационных баз. Для миграции необходимо использовать консольное приложение PostgresMigration, которое поставляется в составе дистрибутива сервера. Это приложение:
- создаст базу данных в PostgreSQL и скопирует туда данные из *.dbp файлов базы данных;
- проверит соответствие версии *.dbp-файла базы данных версии сервера. При несоответствии выведет ошибку;
- создаст конфигурационную базу данных в PostgreSQL для хранения настроек кластера Pilot-Server.
Запуск консольного приложения PostgresMigration:
PostgresMigration [settingsFileName] [pgConnectionString] [redisConnectionString] [configDbName] [adminLogin] [adminPassword]
Перед запуском PostgresMigration необходимо выполнить остановку Pilot-Server, к которому подключены мигрируемые базы *.dbp. |
Параметры запуска PostgresMigration:
Параметр | Описание | |
---|---|---|
settingsFileName | Путь к файлу settings.xml с подключенной к Pilot-Server базой данных *.dbp. | |
pgConnectionString | Строка подключения к PostgreSQL с параметрами: | |
Host | Адрес сервера PostgreSQL. Можно указывать несколько адресов через запятую. | |
Username | Имя созданного пользователя PostgreSQL. Например, pilotuser. | |
Password | Пароль. | |
Include Error Detail | Получение детализированных описаний ошибок PostgreSQL. Рекомендуемое значение: true. | |
Pooling | Включение пуллинга. Рекомендуемое значение: true. | |
Connection Lifetime | Время жизни подключений к PostgreSQL. Рекомендуемое значение: 0. | |
Keepalive | Поддержание соединения к PostgreSQL. Рекомендуемое значение: 3. | |
DataBase | Имя служебной (default) базы PostgreSQL. Значение по умолчанию - postgres. | |
redisConnectionString | Строка подключения к Redis. | |
configDbName | Имя конфигурационной базы для хранения настроек кластера Pilot-Server. Например, configurationdb. | |
adminLogin | Логин администратора Pilot-Server. | |
adminPassword | Пароль администратора Pilot-Server. |
В результате миграции будет создана конфигурационная база данных с именем, указанным в параметре configDbName, к которой будет осуществлять подключение Pilot-Server, и мигрированные базы данных с именами, указанными в settings.xml.
Консольное приложение PostgresMigration выполнит миграцию всех баз данных *.dbp, сохраненных Pilot-Server в settings.xml. Если какие-то базы не требуется мигрировать на PostgreSQL, то их необходимо отсоединить от Pilot-Server до запуска PostgresMigration. |
Пример запуска миграции на ОС Linux:
$ cd [путь_к_серверу]
# chmod +x PostgresMigration
# ./PostgresMigration ./settings.xml "Host=onepostgres:5432, twopostgres:5432, threepostgres:5432; Username=pilotuser; Password=password; Include Error Detail=true; Pooling=true; Connection Lifetime=0; Keepalive=3; DataBase=postgres" "myredis:6379, password=password" configurationdb root root
Если после миграции файловые архивы были перенесены в другое расположение, то в конфигурационной базе нужно также указать новый путь. |
Запуск Pilot-Server
После того как база данных была мигрирована на PostgreSQL , можно запускать Pilot-Server с параметрами:
Команда и параметры | Описание | |
---|---|---|
--pgConnectionString | Строка подключения к конфигурационной базе PostgreSQL с параметрами: | |
Host | Адрес сервера PostgreSQL. Можно указывать несколько адресов. | |
Username | Имя созданного пользователя PostgreSQL. Например, pilotuser. | |
Password | Пароль. | |
Include Error Detail | Получение детализированных описаний ошибок PostgreSQL. Рекомендуемое значение: true. | |
Pooling | Включение пуллинга. Рекомендуемое значение: true. | |
Connection Lifetime | Время жизни подключений к PostgreSQL. Рекомендуемое значение: 0. | |
Keepalive | Поддержание соединения к PostgreSQL. Рекомендуемое значение: 3. | |
DataBase | Имя конфигурационной базы для хранения настроек кластера Pilot-Server Например, configurationdb. | |
--indexPath | Путь для хранения индексов Pilot-Server. | |
--httpPort | HTTP порт. | |
--httpsPort | HTTPS порт. |
Пример команды запуска Pilot-Server для работы с PostgreSQL на ОС Linux:
$ cd [путь_к_серверу]
# chmod +x Ascon.Pilot.Daemon
# ./Ascon.Pilot.Daemon --pgConnectionString="Host=mypostgres:5432; Username=pilotuser; Password=password; Include Error Detail=true; Pooling=true; Connection Lifetime=0; Keepalive=3; DataBase=configurationdb" --httpPort="5545" --httpsPort="5548" --indexPath=.\Indexes
Изменение параметров подключения
Изменение логина, пароля и других параметров подключения к PostgreSQL и Redis осуществляется в конфигурационном режиме. Для этого запустите Pilot-Server с параметром --configure="true", как показано на примерах ниже.
После того, как вы получите сообщение об успешном окончании конфигурирования, сервера можно запустить в рабочем режиме без параметра --configure="true".
Вывод | Описание |
---|---|
Database parameters successfully configured | База данных успешно сконфигурирована. |
Incorrect parameters. See documentation for more details | Указаны некорректные параметры. Проверьте данные, которые вы указываете. |
Invalid database name | Указанная база данных не существует. Проверьте имя базы данных, которое вы указываете. |
Добавление базы данных PostgreSQL
Для добавления новой базы данных, необходимо запустить Pilot-Server с такими параметрами:
$ cd [путь_к_серверу]
# chmod +x Ascon.Pilot.Daemon
# ./Ascon.Pilot.Daemon --configure="true" \
--pgConnectionString="Host=configDbIP:5432; Username=pilotuser; Password=password; DataBase=configurationdb; Include Error Detail=true; Pooling=true; Connection Lifetime=0; keepalive=3"
--dbname="newdatabase" \
--postgres="Host=newDbIp:5432; Username=pilotuser; Password=password; Database=newDB; Include Error Detail=True; Pooling=True; Connection Lifetime=0; Keepalive=3"\
--filearchivepath="/mnt/vol2/FileArchive/44191f9c-c8a4-4689-b38b-474f2aba4465.pilotfa"
Где:
- --configure="true" — параметр для перевода системы в режим конфигурирования;
- newdatabase — задайте имя присоединяемой базы данных;
- --postgres — строка подключения к новой базе данных;
- --filearchivepath — путь к файловому архиву новой базы данных.
Изменение параметров подключения к базе данных PostgreSQL
Для замены строки подключения к базе данных PostgreSQL, необходимо запустить Pilot-Server с такими параметрами:
$ cd [путь_к_серверу]
# chmod +x Ascon.Pilot.Daemon
# ./Ascon.Pilot.Daemon --configure="true" \
--pgConnectionString="Host=configdbIP:5432; Username=pilotuser; Password=password; DataBase=configurationdb; Include Error Detail=true; Pooling=true; Connection Lifetime=0; keepalive=3 "
--dbname="mydatabase" \
--postgres="Host=myDbIp:5432; Username=pilotuser; Password=password; Database=mydatabase; Include Error Detail=True; Pooling=True; Connection Lifetime=0; Keepalive=3"
Где:
- --configure="true" — параметр для перевода системы в режим конфигурирования;
- mydatabase — наименование базы данных, для которой меняется подключение к PostgreSQL.
- --postgres — новая строка подключения к базе данных PostgreSQL. Можно изменить любые параметры, в том числе имя пользователя и пароль.
Изменение пароля к Redis
Для изменения пароля к Redis, необходимо запустить Pilot-Server с такими параметрами:
$ cd [путь_к_серверу]
# chmod +x Ascon.Pilot.Daemon
# ./Ascon.Pilot.Daemon --configure="true" \
--pgConnectionString="Host=configdbIP:5432; Username=pilotuser; Password=password; DataBase=configurationdb; Include Error Detail=true; Pooling=true; Connection Lifetime=0; keepalive=3"\
--redis="redisIp:5432, password=redispassword"
Где:
- --configure="true" — параметр для перевода системы в режим конфигурирования;
- --redis — строка подключения к Redis с новым паролем.