Конфигурация#
Данный документ содержит полный список параметров конфигурации CedrusData Catalog.
Общая информация#
Конфигурация каталога осуществляется путем изменения трех файлов конфигурации:
config.properties
— определяет основную конфигурацию каталога.log.properties
— задает конфигурацию логирования.jvm.config
— задает параметры запуска JVM.
Все файлы конфигурации должны находиться в одной директории.
При запуске из распакованного архива, данные файлы по умолчанию находятся в директории etc/
. Вы можете изменить путь к директории с файлами
конфигурации с помощью параметра командной строки --etc-dir
. Например:
cedrusdata-catalog-server-458-1/bin/launcher run --etc-dir /path/to/config/dir
При запуске из Docker-образа, данные файлы находятся в директории /etc/catalog
. Для изменения конфигурации каталога, запускаемого
из Docker-образа, необходимо сделать mount директории с файлами конфигурации на хосте на директорию /etc/catalog
в Docker-контейнере.
Например:
docker run -d \
--name example-catalog \
-p 9080:9080 \
-v /path/to/config/dir:/etc/catalog/ \
cr.yandex/crpjtvqf29mpabhmrf1s/cedrusdata-catalog:458-1
Если вы хотите заменить только отдельные файлы конфигурации в Docker-контейнере, сделайте mount этих файлов.
Следующий скрипт заменяет только файл etc/config.properties
:
docker run -d \
--name example-catalog \
-p 9080:9080 \
-v /path/to/config/dir/config.properties:/etc/catalog/config.properties \
cr.yandex/crpjtvqf29mpabhmrf1s/cedrusdata-catalog:458-1
Конфигурация каталога#
Данный раздел описывает параметры конфигурации каталога, которые можно задать в файле config.properties
.
Конфигурация каталога представляет собой набор пар ключ-значение, разделенных символом =
.
Переменные окружения#
Вы можете передавать значения отдельных параметров через переменные окружения.
Для этого в значении параметра должна быть указана строка в формате ${ENV:имя_переменной_окружения}
.
Все вхождения подобных строк будут заменены на значения соответствующих переменных окружения.
Если переменная окружения не задана, каталог вернет ошибку.
Вы также можете указать строку в формате ${ENV-OPTIONAL:имя_переменной_окружения}
.
В таком случае отсутствие переменной окружения не приведет к ошибке, а сама строка будет заменена на пустую строку.
Общие параметры#
Данный раздел описывает общие параметры конфигурации каталога.
Параметр |
Описание |
---|---|
|
Путь к рабочей директории каталога.
При запуске из распакованного архива рабочую директорию можно указать с помощью параметра командной строки |
|
Имя начального пользователя с административными привилегиями.
Параметр используется только при первом запуске каталога.
Значение по умолчанию: |
|
Пароль начального пользователя с административными привилегиями.
Параметр используется только при первом запуске каталога.
Если вы зададите непустое значение, то вы сможете обращаться к каталогу, используя значения |
|
Путь файловой системы по которому будет сгенерирован файл с постоянным токеном доступа,
если не задан пароль администратора |
|
Время жизни временных токенов доступа.
Вам может потребоваться изменить данный параметр, если клиенты каталога выполняют длительные операции (например, многочасовые ETL-задачи),
но при этом не поддерживают автоматическое обновление временных токенов.
В большинстве случаев вам не потребуется изменять значение данного параметра.
Значение по умолчанию: |
|
Ключ, который будет использован для формирования криптографической подписи временного токена доступа. Если значение оставлено пустым, случайный ключ будет сгенерирован при старте каталога. Так как случайный ключ изменяется при каждом перезапуске каталога, временные токены доступа, выданные с предыдущим ключом, перестанут работать после перезапуска. Это может привести к временным ошибкам у пользователей и необходимости перезапустить некоторые операции. Задание ключа в явном виде позволяет избежать данной проблемы. Значение по умолчанию: пустая строка (будет сгенерирован случайный ключ) |
|
Директория, в которой хранятся произвольные ресурсы CedrusData Catalog.
Директория ресурсов позволяет вам ссылаться на различные файлы, требуемые отдельными компонентами каталога.
В первую очередь это необходимо для конфигурации HDFS, которой требуются файлы конфигурации HDFS
(например, |
|
Директория, в которой находятся плагины CedrusData Catalog.
Вы можете использовать данный параметр, чтобы ограничить или изменить список плагинов.
По умолчанию CedrusData Catalog инициализирует все доступные плагины, которые находятся в директории |
Хранилище#
CedrusData Catalog хранит метаданные в СУБД SQLite или PostgreSQL. Данный раздел описывает конфигурацию хранилища.
Параметр |
Описание |
---|---|
|
Задает тип хранилища. Допустимые значения: |
|
Путь к файлу базы данных SQLite. Используется, когда задан тип хранилища |
|
JDBC строка подключения к PostgreSQL. Используется, когда задан тип хранилища |
|
Имя пользователя для подключения к PostgreSQL. Используется, когда задан тип хранилища |
|
Пароль для подключения к PostgreSQL. Используется, когда задан тип хранилища |
|
Размера пула JDBC соединений HikariCP.
Значение |
|
Время жизни соединения в пуле JDBC соединений HikariCP.
Значение |
|
Максимальный размер страницы при осуществлении листинга объектов.
Увеличение данного параметра позволяет уменьшить количество сетевых вызовов при листинге большого количества объектов (например, таблиц Iceberg),
но увеличивает потребление памяти. Значение по умолчанию подойдет для большинства видов нагрузок.
Значение по умолчанию: |
HTTP сервер#
CedrusData Catalog принимает команды по протоколу HTTP. Данный раздел описывает конфигурацию встроенного HTTP-сервера.
Параметр |
Описание |
---|---|
|
Задает IP-адрес интерфейса, на котором будет запущен сервер. Значение по умолчанию: пустое значение (сервер будет запущен на произвольном интерфейсе) |
|
Разрешает или запрещает доступ к каталогу по протоколу |
|
Порт сервера при работе по протоколу |
|
Разрешать ли запросы с заголовками |
|
Разрешает или запрещает доступ к каталогу по протоколу |
|
Порт сервера при работе по протоколу |
|
Путь к keystore в формате PEM или JKS.
Параметр является обязательным для работы по протоколу |
|
Пароль keystore в формате PEM или JKS. Параметр используется только при работе по протоколу |
|
Пароль сертификата keystore.
Необходим, если пароль сертификата отличается от пароля keystore (применимо только к keystore в формате JKS).
Параметр используется только при работе по протоколу |
|
Путь к truststore в формате PEM или JKS.
Параметр используется только при работе по протоколу |
|
Пароль truststore в формате PEM или JKS. Параметр используется только при работе по протоколу |
|
Список алгоритмов шифрования, перечисленных через запятую, использование которых разрешено.
Параметр используется только при работе по протоколу |
|
Список алгоритмов шифрования, перечисленных через запятую, использование которых запрещено.
Параметр используется только при работе по протоколу |
|
Время жизни TLS сессии. Параметр используется только при работе по протоколу |
|
Размер кэша TLS сессий. Параметр используется только при работе по протоколу |
|
Как часто перечитывать содержимое сертификатов. Параметр используется только при работе по протоколу |
Производительность#
CedrusData Catalog активно кэширует внутренние объекты для повышения производительности и уменьшения количества обращений к СУБД или удаленной файловой системе. Данный раздел описывает конфигурацию различных кэшей каталога.
Параметр |
Описание |
---|---|
|
Размер кэша пользователей в байтах. Кэш хранит информацию в оперативной памяти процесса.
Информация об одном пользователе занимает 100-200 байт. Таким образом, 1 мегабайт кэша может вместить информацию о 5000-10000 пользователях.
В большинстве случаев вам не придется изменять значение данного параметра.
Установка значения в |
|
Время жизни записи кэша пользователей.
В большинстве случаев вам не придется изменять значение данного параметра.
Установка значения в |
|
Размер кэша метаданных таблиц Iceberg. Кэш хранит информацию в оперативной памяти процесса.
Размер метаданных одной таблицы может варьировать от нескольких килобайт до нескольких мегабайт.
Значение по умолчанию подойдет для большого количества сценариев. Если ваша схема данных содержит значительное количество таблиц,
которые имеют большое количество атрибутов или партиций, или часто изменяются, вам может потребоваться увеличить размер кэша.
Мы рекомендуем рассчитывать целевое потребление памяти кэша из расчета 100 килобайт на одну таблицу (один гигабайт на десять тысяч таблиц).
Кэш метаданных обеспечивает существенный прирост производительности в первую очередь для часто используемых таблиц.
Кэшировать метаданные всех таблиц необязательно.
Установка значения в |
|
Время жизни записи кэша метаданных таблиц Iceberg.
В большинстве случаев вам не придется изменять значение данного параметра.
Установка значения в |
Управление и мониторинг#
CedrusData Catalog предоставляет широкие возможности мониторинга состояния системы.
Параметр |
Описание |
---|---|
|
Задает порт для подключения удаленных JMX-агентов. См. JMX.
Значение по умолчанию: |
|
Задает порт для подключения удаленных JMX-агентов по протоколу RMI. См. JMX.
Значение по умолчанию: |
|
Разрешает или запрещает экспорт метрик в формате OpenMetrics. См. Prometheus и Grafana.
Значение по умолчанию: |
|
Список системных объектов JMX, метрики которых необходимо экспортировать. См. Prometheus и Grafana. Значение по умолчанию: пустая строка (экспортируются только метрики каталога) |
|
Задает список подсистем каталога, подлежащих трассировке. См. OpenTelemetry.
Имена подсистем могут быть перечислены через запятую.
Допустимые значения: |
|
Адрес коллектора трейсов в формате OpenTelemetry Protocol (OTLP).
См. OpenTelemetry.
Значение по умолчанию: |
|
Процент операций, подлежащих трассировка. См. OpenTelemetry.
Значение должно находиться в диапазон от |
Конфигурация логирования#
CedrusData Catalog логирует различные события, возникающие в процессе эксплуатации.
При запуске из распакованного архива с помощью команды bin/launcher run
, каталог логирует события в консоль.
При запуске из распакованного архива с помощью команд bin/launcher start
или bin/launcher restart
, каталог логирует события в rolling файл в директории <data-dir>/var/log/server.log
.
При запуске из Docker-образа, каталог логирует события в консоль Docker. Логи контейнера доступны с помощью команды docker logs <имя_контейнера>
.
Кроме того, во всех режимах работы каталог дополнительно логирует все HTTP-запросы в rolling файл <data-dir>/var/log/http-request.log
.
Вы можете настраивать уровни логирования для отдельных источников событий с помощью файла log.properties
.
Конфигурация JVM#
CedrusData Catalog работает внутри процесса JVM. Используйте файл jvm.config
для изменения параметров JVM.
Ознакомиться со списком доступных опций можно в документации вашего вендора JVM.
Доступные опции незначительно отличаются между вендорами JVM.
Поэтому наиболее детализированной документации произвольного вендора в большинстве случае предоставит
ответы на ваши вопросы. Мы рекомендуем начинать ознакомление с опциями JVM с документации
Oracle JDK.
В большинстве случаев параметров JVM по умолчанию, представленных в оригинальной версии файла jvm.config
,
будет достаточно для эксплуатации каталога.