Конфигурационные файлы PXF
Каталог конфигурации исполнения PXF ($PXF_BASE/conf) содержит следующие настраиваемые конфигурационные файлы:
-
pxf-application.properties — служит для настройки приложения сервиса PXF.
-
pxf-env.sh — служит для настройки среды выполнения сервиса PXF и JVM.
-
pxf-log4j2.xml — служит для настройки логирования PXF.
-
pxf-profiles.xml — содержит определения пользовательских профилей PXF.
Изменение конфигурации PXF
После обновления конфигурационных файлов требуется синхронизировать изменения на всех хостах кластера Greengage DB, а затем перезапустить PXF, чтобы применить изменения.
При изменении профиля PXF или конфигурации сервера вы можете применить изменения и очистить соответствующие пулы подключений с помощью команды pxf cluster reload без необходимости перезапуска PXF.
-
Внесите необходимые изменения в конфигурационные файлы.
-
На мастер-хосте Greengage DB выполните команду
sync, чтобы синхронизировать конфигурацию PXF между всеми хостами кластера:$ pxf cluster sync -
Перезапустите PXF на всех хостах Greengage DB:
$ pxf cluster restart
Более подробную информацию об управлении сервисами PXF можно получить в статье Управление PXF.
Полное описание команд pxf cluster приведено в статье Обзор команд pxf cluster.
pxf-application.properties
С помощью файла pxf-application.properties настраиваются свойства конфигурации приложения сервиса PXF. Чтобы изменить значение свойства, может потребоваться добавить его либо, если свойство уже присутствует, раскомментировать соответствующую строку.
Общие свойства
| Свойство | Описание | Значение по умолчанию |
|---|---|---|
pxf.connection.timeout |
Время ожидания соединения с сервером Tomcat для операций чтения.
Укажите |
|
pxf.connection.upload-timeout |
Время ожидания соединения с сервером Tomcat для операций записи.
Укажите |
|
pxf.max.threads |
Максимальное количество потоков Tomcat-сервера PXF |
200 |
pxf.task.pool.allow‑core‑thread‑timeout |
Указывает, разрешено ли истечение времени ожидания для основных стриминговых потоков ядра |
false |
pxf.task.pool.core-size |
Количество основных стриминговых потоков ядра |
8 |
pxf.task.pool.queue-capacity |
Емкость очереди пула основных стриминговых потоков ядра |
0 |
pxf.task.pool.max-size |
Максимально допустимое количество основных стриминговых потоков ядра |
Значение |
pxf.log.level |
Уровень логирования сервиса PXF |
info |
pxf.fragmenter-cache.expiration |
Период времени, по истечении которого запись устаревает и удаляется из кеша фрагментов |
|
server.address |
Адрес прослушивания сервера PXF |
localhost |
Свойства конфигурации SSL
С помощью данных свойств производится настройка SSL в PXF.
| Свойство | Описание | Значение по умолчанию |
|---|---|---|
server.ssl.enabled |
Указывает, включен ли SSL |
Значение |
server.ssl.enabled-protocols |
Список поддерживаемых TLS-протоколов, разделенных запятой |
Значение |
server.ssl.key-store |
Путь к хранилищу ключей (keystore), содержащему закрытый ключ сервера и подписанный сертификат сервера |
Значение |
server.ssl.key-store-password |
Пароль хранилища ключей |
Значение |
server.ssl.key-store-type |
Тип хранилища ключей |
Значение |
server.ssl.client-auth |
Метод аутентификации клиента.
Если указано значение |
Значение |
server.ssl.trust-store |
Путь к хранилищу доверенных сертификатов (truststore), содержащему закрытый ключ клиента и подписанный сертификат клиента |
Значение |
server.ssl.trust-store-password |
Пароль хранилища доверенных сертификатов |
Значение |
server.ssl.trust-store-type |
Тип хранилища доверенных сертификатов |
Значение |
Свойства настройки шифрования паролей JDBC
Настройка данных свойств необходима для корректной работы команды pxf encrypt.
| Свойство | Описание | Значение по умолчанию |
|---|---|---|
pxf.ssl.jks-store.path |
Абсолютный путь к хранилищу ключей Java |
— |
pxf.ssl.jks-store.password |
Пароль хранилища ключей Java |
— |
pxf.ssl.salt.key |
Псевдоним ключа шифрования в хранилище ключей Java |
— |
Свойства настройки интеграции с HashiCorp Vault / OpenBao
Эти свойства позволяют настроить интеграцию с корпоративными платформами для управления секретами, такими как HashiCorp Vault или OpenBao, которая осуществляется через Spring Cloud Vault.
| Свойство | Описание | Значение по умолчанию |
|---|---|---|
spring.cloud.vault.enabled |
Указывает, включен ли сервер конфигурации Spring Cloud Vault |
Значение |
spring.cloud.vault.kv.enabled |
Указывает, включено ли key-value хранилище |
Значение |
spring.cloud.vault.kv.backend |
Имя хранилища по умолчанию |
Значение |
spring.cloud.vault.kv.application-name |
Имя приложения, используемое в контексте |
Значение |
spring.cloud.vault.kv.default-context |
Имя контекста по умолчанию |
Значение |
spring.cloud.vault.kv.profiles |
Список активных профилей |
Значение |
spring.cloud.vault.fail-fast |
Указывает, должен ли сервис завершаться сбоем при невозможности получения данных из Vault |
Значение |
spring.cloud.vault.namespace |
Пространство имен Vault |
Значение |
spring.cloud.vault.host |
Имя хоста, на котором расположен сервер Vault |
Значение |
spring.cloud.vault.port |
Порт сервера Vault |
Значение |
spring.cloud.vault.scheme |
Используемый протокол; может принимать значения |
Значение |
spring.cloud.vault.authentication |
Метод аутентификации на сервере Vault |
Значение |
spring.cloud.vault.app-role.role-id |
RoleID — идентификатор, выбирающий |
Значение |
spring.cloud.vault.app-role.secret-id |
SecretID — учетная запись, требуемая по умолчанию для любого подключения, и всегда остающаяся секретной |
Значение |
spring.cloud.vault.token |
Статический токен Vault.
Указание значения обязательно, если свойству |
Значение |
spring.cloud.vault.ssl.trust-store |
Хранилище доверенных SSL-сертификатов |
Значение |
spring.cloud.vault.ssl.trust-store-password |
Пароль хранилища доверенных SSL-сертификатов |
Значение |
spring.config.import |
Значение |
pxf-env.sh
С помощью файла pxf-env.sh настраиваются свойства конфигурации виртуальной машины Java (JVM), используемой PXF. Чтобы изменить значение свойства, может потребоваться добавить его либо, если свойство уже присутствует, раскомментировать соответствующую строку.
| Свойство | Описание | Значение по умолчанию |
|---|---|---|
JAVA_HOME |
Местоположение домашнего каталога JRE |
/usr/java/default |
PXF_LOGDIR |
Местоположение каталога лог-файлов PXF |
$PXF_BASE/logs |
PXF_RUNDIR |
Каталог запуска PXF |
$PXF_BASE/run |
PXF_JVM_OPTS |
Значения по умолчанию для параметров виртуальной машины Java, используемой PXF |
-Xmx2g -Xms1g |
PXF_OOM_KILL |
Указывает, активировать ли автоматическое завершение PXF при ошибке нехватки памяти (OutOfMemoryError, OOM) |
|
PXF_OOM_DUMP_PATH |
Абсолютный путь к файлу дампа, который PXF генерирует при ошибке нехватки памяти (OOM) |
Пустое значение (дамп-файл отсутствует) |
PXF_LOADER_PATH |
Дополнительные каталоги и JAR-файлы для загрузки классов PXF |
Пустое значение |
LD_LIBRARY_PATH |
Дополнительные каталоги и нативные библиотеки для загрузки PXF |
Пустое значение |
pxf-log4j2.xml
С помощью файла pxf-log4j2.xml настраивается логирование PXF и его компонентов.
По умолчанию PXF настроен на логирование на уровне info; для некоторых сторонних библиотек логирование ведется на уровне warn или error.
Чтобы узнать больше о настройке Log4j, обратитесь к документации Apache Log4j.
pxf-profiles.xml
PXF-профиль — это именованное сопоставление, определяющее конкретный формат данных и протокол, поддерживаемый определенным внешним хранилищем данных.
Например, для чтения текстового файла из облачного хранилища S3 можно использовать профиль s3:text.
Встроенные профили PXF определены в файле pxf-profiles-default.xml. Содержимое этого файла доступно в репозитории исходного кода PXF. Чтобы создать кастомный профиль, используйте файл pxf-profiles.xml.
Структура файла pxf-profiles.xml в общем виде выглядит следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<profiles>
<profile>
<name>...</name>
<description>...</description>
<plugins>
<plugin_A>...</plugin_A>
<plugin_B>...</plugin_B>
...
</plugins>
</profile>
...
</profiles>