Установка из Docker-образа#

CedrusData может быть запущен с помощью Docker-образа, который содержит базовую конфигурацию с несколькими каталогами.

Быстрый старт#

  • Убедитесь, что у вас установлен Docker Server.

  • Убедитесь, что команда docker не требует sudo.

  • Убедитесь, что порт 8080 не занят другими процессами.

  • Скачайте и запустите контейнер:

    docker run -d --name cedrus-server -p 8080:8080 cr.yandex/crpjtvqf29mpabhmrf1s/cedrusdata:458-1
    
  • Подключитесь к узлу через JDBC, используя произвольное непустое имя пользователя.

    jdbc:trino://localhost:8080
    
  • Откройтe web-консоль http://localhost:8080.

Примечание

Контейнер CedrusData может быть запущен как локально, так и с помощью платформ оркестрации. Для запуска CedrusData с помощью Kubernetes см. Trino on Kubernetes with Helm.

Запуск запросов с помощью Trino CLI#

Образ содержит command-line утилиту Trino CLI, которую вы можете использовать для запуска SQL-запросов. Утилита доступна по имени trino. Например:

$ docker exec -it cr.yandex/crpjtvqf29mpabhmrf1s/cedrusdata:458-1 trino
trino> select count(*) from tpch.sf1.nation;
 _col0
-------
    25
(1 row)

Query 20181105_001601_00002_e6r6y, FINISHED, 1 node
Splits: 21 total, 21 done (100.00%)
0:06 [25 rows, 0B] [4 rows/s, 0B/s]

Структура Docker-контейнера#

Образ содержит следующие важные файлы и директории:

  • /usr/lib/trino/ - бинарные файлы CedrusData.

  • /data/trino/ - операционные файлы CedrusData (например, логи).

  • /usr/bin/trino - command-line клиент Trino.

  • /etc/trino/ - файлы конфигурации CedrusData.

Конфигурация CedrusData#

Образ содержит набор файлов конфигурации, расположенных в директории /etc/trino. Чтобы задать собственную конфигурацию, необходимо осуществить mount собственно директории с файлами конфигурациями к пути /etc/trino. Например:

$ docker run --name cedrus-server -d -p 8080:8080 --volume $PWD/etc:/etc/trino cr.yandex/crpjtvqf29mpabhmrf1s/cedrusdata:458-1

Аналогичным образом вы можете заменять отдельные директории или файлы конфигурации. Например, можно заменить только директорию с конфигурацией каталогов /etc/trino/catalog.

CedrusData также позволяет задать способ управления каталогами через переменную окружения CATALOG_MANAGEMENT. Допустимые значения: static, cedrusdata_dynamic, dynamic.

Установка плагинов#

Для добавления плагина в контейнер достаточно осуществить mount директории с файлами плагина в директорию /usr/bin/trino/plugin/<имя_плагина>. Например:

$ docker run --name cedrus-server -d -p 8080:8080 --volume $PWD/my_plugin:/usr/bin/trino/plugin/my_plugin cr.yandex/crpjtvqf29mpabhmrf1s/cedrusdata:458-1

Следующие шаги#

При использовании конфигурации по умолчанию, будет запущен coordinator-узел, который может обрабатывать SQL-запросы.

При промышленном использовании, вероятнее всего вы будете использовать иную конфигурацию:

  • Один или несколько coordinator-узлов, которые планируют SQL-запросы, но не выполняют их.

  • Один или несколько worker-узлов, которые выполняют SQL-запросы.

Для конфигурации узлов для промышленного использования, ознакомьтесь с разделом Резвертывание.