Руководство по конфигурированию CedrusData Catalog#
Данное руководство содержит набор шагов для настройки CedrusData Catalog после установки. CedrusData Catalog может запускаться в 2-х режимах:
standalone режим - отдельный процесс CedrusData Catalog, рекомендуется для промышленного использования и при большом числе объектов каталога.
embedded режим - каталог запускается на стороне CedrusData Coordinator. Рекомендуется для небольших локальных инсталляций или для сред разработки, т.к. экономит память.
С настройками по умолчанию, CedrusData Catalog будет использовать БД SQLite для хранения данных. Для промышленных инсталляций мы рекомендуем использовать хранение в PostgreSQL.
1. Конфигурирование CedrusData Catalog#
Следующие три раздела (1.1, 1.2, 1.3) показывают независимые варианты конфигурации для CedrusData Catalog.
1.1. Запуск и конфигурация Catalog в standalone режиме (установка из архива)#
Скачайте и распакуйте дистрибутив согласно инструкции для установки из распакованного архива (без запуска).
Для удобства, определите переменные окружения, которые далее будут использоваться при установке, cоздайте соотвествующие директории:
CATALOG_DIR- директория установки CedrusData Catalog.DATA_DIR- директория хранения данных CedrusData Catalog.ETC_DIR- директорияetcс конфигурацией CedrusData Catalog.Пример:
export CATALOG_DIR=/home/user/cedrusdata-catalog-server-458-22 export ETC_DIR=/home/user/cedrusdata-catalog-server-458-22/etc export DATA_DIR=/opt/catalog-data
(Опционально) Если требуется настроить хранение во внешней БД PostgreSQL, добавьте следующие параметры в файл
$ETC_DIR\config.properties:store.type=postgresql store.postgresql.jdbc-url=jdbc:postgresql://<pg-host>:<pg-port>/<dbname> store.postgresql.username=<username> store.postgresql.password=<password>
Запустите CedrusData Catalog для начальной инициализации:
"$CATALOG_DIR"/bin/launcher start --data-dir "$DATA_DIR" --etc-dir "$ETC_DIR"
В журнале запуска проверьте, что сервер запустился успешно:
tail "$DATA_DIR"/var/log/server.log
2025-12-10T10:48:14.431+0300 INFO main ru.cedrusdata.catalog.server.CatalogServer ======== SERVER STARTED ========
После успешного запуска в директории
$DATA_DIRдолжны появиться файлы, среди которых будет файлcatalog-admin-access-token- административный токен доступа.Проверьте доступность Catalog UI по адресу
http://localhost:9080/(для входа укажите токен из файла"$DATA_DIR"/catalog-admin-access-token)Создайте файловую систему (в примере ниже создадим S3-совместимую ФС). Подставьте корректные значения для
endpoint,access-key,secret-key."$CATALOG_DIR"/bin/catalog \ --access-token-file "$DATA_DIR"/catalog-admin-access-token \ file-system create \ --file-system-name s3_fs \ --type s3 \ -p endpoint=https://<s3-host:port> \ -p access-key=<your-access-key> \ -p secret-key=<your-secret-key> \ -p path-style-access=true
Создайте логический каталог поверх ФС. В примере ниже создаётся Iceberg-каталог
ice_cat:"$CATALOG_DIR"/bin/catalog \ --access-token-file "$DATA_DIR"/catalog-admin-access-token \ iceberg catalog create \ --catalog-name ice_cat \ --file-system-name s3_fs \ --file-system-location s3://test-bucket
В S3 создайте указанный ранее бакет (
s3://test-bucket), который будет содержать данные Iceberg-кaталогаice_cat.Создайте нового пользователя и выдайте ему роль builtin.iceberg.admin для работы с Iceberg.
"$CATALOG_DIR"/bin/catalog \ --access-token-file "$DATA_DIR"/catalog-admin-access-token \ principal create \ --principal-name admin "$CATALOG_DIR"/bin/catalog \ --access-token-file "$DATA_DIR"/catalog-admin-access-token \ security grant-role \ --principal-name admin \ --role builtin.iceberg.admin
Аналогичные действия п.6-9 вы можете выполнить через CedrusData Catalog web UI
1.2. Запуск и конфигурация Catalog в standalone режиме (установка из Docker-образа)#
В целом конфигурация аналогична, за иключением небольших деталей.
Сделайте любую директорию для хранения конфигураци и перейдите в неё (далее ~/catalog)
В директории
~/catalogсоздайте и файл конфигурации CedrusData Catalog:echo "admin-password=${ENV-OPTIONAL:CEDRUSDATA_CATALOG_ADMIN_PASSWORD}" > ~/catalog/config.properties
(Опционально) Если требуется настроить хранение во внешней БД PostgreSQL, добавьте следующие параметры в файл
~/catalog/config.properties:store.type=postgresql store.postgresql.jdbc-url=jdbc:postgresql://<pg-host>:<pg-port>/<dbname> store.postgresql.username=<username> store.postgresql.password=<password>
Скачайте и запустите дистрибутив согласно инструкции для установки из Docker-образа и запустите командой
docker run -d \ --name example-catalog \ -p 9080:9080 \ -v ~/catalog/data:/data/catalog \ -v ~/catalog/config.properties:/etc/catalog/config.properties \ cr.yandex/crpjtvqf29mpabhmrf1s/cedrusdata-catalog:458-22
В журнале запуска проверьте, что сервер запустился успешно:
docker logs example-catalog
2025-12-10T10:48:14.431+0300 INFO main ru.cedrusdata.catalog.server.CatalogServer ======== SERVER STARTED ========
После успешного запуска в директории
~/catalog/dataдолжны появиться файлы, среди которых будет файлcatalog-admin-access-token- административный токен доступа.Проверьте доступность Catalog UI по адресу
http://localhost:9080/(для входа укажите токен из файла/data/catalog/catalog-admin-access-tokenв контейнере)Создайте файловую систему (в примере ниже создадим S3-совместимую ФС). Подставьте корректные значения для
endpoint,access-key,secret-key.docker exec -it example-catalog /bin/catalog \ file-system create \ --file-system-name s3_fs \ --type s3 \ -p endpoint=https://<s3-host:port> \ -p access-key=<your-access-key> \ -p secret-key=<your-secret-key> \ -p path-style-access=true
Создайте логический каталог поверх ФС. В примере ниже создаётся Iceberg-каталог
ice_cat:docker exec -it example-catalog /bin/catalog \ iceberg catalog create \ --catalog-name ice_cat \ --file-system-name s3_fs \ --file-system-location s3://test-bucket
В S3 создайте указанный ранее бакет (
s3://test-bucket), который будет содержать данные Iceberg-кaталогаice_cat.Создайте нового пользователя и выдайте ему роль builtin.iceberg.admin для работы с Iceberg.
docker exec -it example-catalog /bin/catalog \ principal create \ --principal-name admin docker exec -it example-catalog /bin/catalog \ security grant-role \ --principal-name admin \ --role builtin.iceberg.admin
Аналогичные действия п.6-9 вы можете выполнить через CedrusData Catalog web UI
1.3. Запуск и конфигурация Catalog в Embedded-режиме#
Данный режим предполагает что у вас уже установлен и сконфигурирован CedrusData Engine, а Catalog запускается внутри процесса Coordinator.
Для удобства, определите переменные окружения, которые будут использоваться далее при установке:
SERVER_DIR- директория установки CedrusData Engine.DATA_DIR- директория хранения данных CedrusData Engine.ETC_DIR- директорияetcс конфигурацией CedrusData Engine.Пример:
export SERVER_DIR=/home/user/cedrusdata-server-458-22 export ETC_DIR=/home/user/cedrusdata-server-458-22/etc export DATA_DIR=/opt/data-cedrus
Создайте файл
$ETC_DIR/catalog-config.propertiesс содержимым (при необходимости укажите параметры хранения данных Catalog в PostgresSQL):admin-password=${ENV-OPTIONAL:CEDRUSDATA_CATALOG_ADMIN_PASSWORD} #store.type=postgresql #store.postgresql.jdbc-url=jdbc:postgresql://<pg-host>:<pg-port>/<dbname> #store.postgresql.username=<username> #store.postgresql.password=<password>
В файл
$ETC_DIR/config.propertiesдобавьте параметры:cedrusdata-catalog.coordinator-mode=embedded cedrusdata-catalog.embedded.config=etc/catalog-config.properties
Перезапустите CedrusData Engine для илициализации каталога.
Создайте файловую систему (в примере ниже создадим S3-совместимую ФС). Подставьте корректные значения для
endpoint,access-key,secret-key.$SERVER_DIR/bin/catalog \ --access-token-file $DATA_DIR/catalog-admin-access-token \ file-system create \ --file-system-name s3_fs \ --type s3 \ -p endpoint=https://<s3-host:port> \ -p access-key=<your-access-key> \ -p secret-key=<your-secret-key> \ -p path-style-access=true
Создайте логический каталог поверх ФС. В примере ниже создаётся Iceberg-каталог
ice_cat:$SERVER_DIR/bin/catalog \ --access-token-file $DATA_DIR/catalog-admin-access-token \ iceberg catalog create \ --catalog-name ice_cat \ --file-system-name s3_fs \ --file-system-location s3://test-bucket
В S3 создайте указанный ранее бакет (
s3://test-bucket), который будет содержать данные Iceberg-кaталогаice_cat.Создайте нового пользователя и выдайте ему роль builtin.iceberg.admin для работы с Iceberg.
"$SERVER_DIR"/bin/catalog \ --access-token-file "$DATA_DIR"/catalog-admin-access-token \ principal create \ --principal-name admin "$SERVER_DIR"/bin/catalog \ --access-token-file "$DATA_DIR"/catalog-admin-access-token \ security grant-role \ --principal-name admin \ --role builtin.iceberg.admin
См. также:
2. Конфигурирование CedrusData Engine#
Сконфигурируйте Iceberg коннектор (пример:
etc/catalog/iceberg.properties):connector.name=iceberg iceberg.catalog.type=CEDRUSDATA_CATALOG iceberg.cedrusdata-catalog.catalog-name=ice_cat fs.native-s3.enabled=true s3.endpoint=https://<s3-host:port> s3.aws-access-key=<your-access-key> s3.aws-secret-key=<your-secret-key> s3.region=ru-central1 s3.path-style-access=true
В случае если вы подключаетесь к каталогу, запущенному в режиме Standalone, добавьте в файл сервера CedrusData Engine
etc/config.propertiesследующие параметры:cedrusdata-catalog.mode=remote cedrusdata-catalog.remote.uri=http://<catalog-host>:9080 cedrusdata-catalog.access-token=<catalog-admin-access-token>
Перезапустите CedrusData Engine и проверьте наличие нового каталога Iceberg.
Для подключения других движков к CedrusData Catalog, обратитесь к следующим разделам документации: