Планирование развертывания#
Данный документ разъясняет важные решения, которые вам необходимо предпринять для промышленного развертывания каталога.
Способ развертывания#
CedrusData Catalog может быть запущен из распакованного архива или Docker-образа. Оба способа подходят для промышленного использования.
Запуск из распакованного архива позволяет администраторам легче экспериментировать с конфигурацией и быстрее получать доступ к различным рабочим файлам каталога
Запуск из Docker-образа позволяет работать с продуктом без установки зависимостей (Java 21, Python), но требует более тщательного планирования отображения портов и директорий Docker-контейнера.
Выбор СУБД#
CedrusData Catalog сохраняет информацию в реляционной СУБД. Вы можете использовать SQLite или PostgreSQL.
SQLite работает в embedded режиме, что даем вам возможность запустить каталог без необходимости развертывания отдельного сервера СУБД. Данный вариант хорошо подходит для тестовых развертываний. Недостатком является совмещение СУБД с каталогом на одном хосте: если по какой-то причине сервер каталога окажется недоступным, то недоступной будет и СУБД каталога.
При использовании PostgreSQL вы получаете возможность отделить СУБД от каталога. Данный вариант рекомендован для промышленного развертывания. Для обеспечения сохранности данных каталога вы должны использовать механизмы бэкапов и/или репликации, предоставляемые PostgreSQL.
Примечание
В будущем в каталог будет добавлен режим работы High Availability на основе протокола Raft. При использовании данного режима рекомендованной СУБД будет SQLite, так как данные СУБД будут реплицироваться между узлами.
Включение шифрования трафика с помощью TLS#
CedrusData Catalog работает по протоколу HTTP, и может передавать или получать чувствительную информацию, такую как имена пользователей, пароли и ключи доступа. По умолчанию шифрование трафика между каталогом и клиентами отключено.
При работе с доверенными клиентам во внутренней сети (например, кластер CedrusData или Trino), можно продолжить работу по незащищенному протоколу HTTP.
При работе с публичными клиентами (например, пользовательская сессия Apache Spark), необходимо включить шифрование трафика. Для этого вы должны выбрать подходящую стратегию шифрования: сертификаты или TLS termination proxy.
Подключение файловых систем#
В большинстве случаев вам потребуется подключить одну или несколько файловых систем. Ознакомьтесь с руководствами и примерами конфигурации файловых систем: S3, HDFS.
Для файловых систем на основе протокола S3 вы должны в первую очередь выбрать стратегию доступа к файловой системе: статические ключи доступа или временные ключи STS.
Для HDFS вы должны получить файлы конфигурации (core-site.xml
, hdfs-site.xml
и т.д.), а также решить, будете ли вы использовать имперсонацию и Kerberos.
После создания файловой системы используйте команду file-system check для проверки работоспособности.
Производительность Iceberg каталог#
Выполнение пользовательских команд к Iceberg каталогу часто сопряжено с удаленными вызовами к файловой системе и СУБД. Для обеспечения высокой производительности CedrusData Catalog активно кэширует метаданные таблиц Apache Iceberg. Если количество таблиц Iceberg в вашей схеме превышает несколько тысяч, вам может потребоваться увеличить размер кэша метаданных Iceberg.
Настройка мониторинга#
Ознакомьтесь с различными способами мониторинга состояния каталога:
JMX для контроля состояния через объекты JMX
OpenMetrics для интеграции с Prometheus и Grafana
OpenTelemetry для включения трассировки отдельных компонентов каталога